NZMATH  1.2.0 About: NZMATH is a Python based number theory oriented calculation system.   Fossies Dox: NZMATH-1.2.0.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)
nzmath.poly.hensel.HenselLiftPair Class Reference
Inheritance diagram for nzmath.poly.hensel.HenselLiftPair:
[legend]
Collaboration diagram for nzmath.poly.hensel.HenselLiftPair:
[legend]

## Public Member Functions

def __init__ (self, target, factor1, factor2, ladder1, ladder2, p, q=None)

def from_factors (cls, target, factor1, factor2, p)

def lift_factors (self)

def lift (self)

f

a1

a2

u1

u2

p

q

## Properties

factors = property(_get_factors)

## Private Member Functions

def _get_factors (self)

## Detailed Description

```A class represents integer polynomial pair which will be lifted by
Hensel's method.
```

Definition at line 67 of file hensel.py.

## ◆ __init__()

 def nzmath.poly.hensel.HenselLiftPair.__init__ ( self, target, factor1, factor2, ladder1, ladder2, p, q = `None` )
```HenselLiftPair(f, a1, a2, u1, u2, p, q)

The parameters satisfy that:
a1 and a2 are monic,
f == a1*a2 (mod q) and
a1*u1 + a2*u2 == 1 (mod p),
with positive integers p dividing q.

If p==q, q can be omit from the argument.
```

Definition at line 72 of file hensel.py.

## ◆ _get_factors()

 def nzmath.poly.hensel.HenselLiftPair._get_factors ( self )
private
```getter for factors of target mod q
```

Definition at line 154 of file hensel.py.

## ◆ from_factors()

 def nzmath.poly.hensel.HenselLiftPair.from_factors ( cls, target, factor1, factor2, p )
```Create and return an instance of HenselLiftPair.

HenselLiftPair.from_factors(f, a1, a2, p)

The parameters satisfy that:
f == a1*a2 (mod p)
with a prime number p.
```

Definition at line 96 of file hensel.py.

References nzmath.poly.hensel._extgcdp().

## ◆ lift()

 def nzmath.poly.hensel.HenselLiftPair.lift ( self )
```The lift.
```

Definition at line 147 of file hensel.py.

## ◆ lift_factors()

 def nzmath.poly.hensel.HenselLiftPair.lift_factors ( self )
```Update factors by lifted integer coefficient polynomials Ai's:
f == A1*A2 (mod p*q) and
Ai == ai (mod q) (i = 1, 2).
Moreover, q is updated by p*q

PRECONDITIONS (automatically satisfied):
f == a1*a1 (mod q)
a1*u1 + a2*u2 == 1 (mod p)
p | q
```

Definition at line 109 of file hensel.py.

 def nzmath.poly.hensel.HenselLiftPair.lift_ladder ( self )
```Update u1 and u2 with U1 and U2:
a1*U1 + a2*U2 == 1 (mod p**2)
Ui == ui (mod p) (i = 1, 2)
then, update p with p**2.

PRECONDITIONS (automatically satisfied):
a1*u1 + a2*u2 == 1 (mod p)
```

Definition at line 130 of file hensel.py.

## ◆ a1

 nzmath.poly.hensel.HenselLiftPair.a1

Definition at line 85 of file hensel.py.

## ◆ a2

 nzmath.poly.hensel.HenselLiftPair.a2

Definition at line 86 of file hensel.py.

## ◆ f

 nzmath.poly.hensel.HenselLiftPair.f

## ◆ q

 nzmath.poly.hensel.HenselLiftPair.q

## ◆ u1

 nzmath.poly.hensel.HenselLiftPair.u1

Definition at line 87 of file hensel.py.

## ◆ u2

 nzmath.poly.hensel.HenselLiftPair.u2

Definition at line 88 of file hensel.py.

## ◆ factors

 nzmath.poly.hensel.HenselLiftPair.factors = property(_get_factors)
static

The documentation for this class was generated from the following file: