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.HenselLiftMulti Class Reference
Inheritance diagram for nzmath.poly.hensel.HenselLiftMulti:
[legend]
Collaboration diagram for nzmath.poly.hensel.HenselLiftMulti:
[legend]

## Public Member Functions

def __init__ (self, target, factors, cofactors, ladder, p, q=None)

def from_factors (cls, target, factors, p)

def lift_factors (self)

def lift (self)

f

a

r

b

s

t

p

q

## Properties

factors = property(_get_factors)

## Private Member Functions

def _get_factors (self)

## Detailed Description

```A class represents integer polynomials which will be lifted by
Hensel's lemma.

If the number of factors is two, you should use HenselLiftPair.
```

Definition at line 163 of file hensel.py.

## ◆ __init__()

 def nzmath.poly.hensel.HenselLiftMulti.__init__ ( self, target, factors, cofactors, ladder, p, q = `None` )
```HenselLiftMulti(f, factors, ladder, p, q)

The parameters satisfy that:
+  ai's of factors and f are all monic
+  bi's of cofactors are product of aj's for i < j
+  f == a1*...*ar (mod q)
+  ladder is a tuple (sis, tis) and si's of sis and ti's of tis
satisfy: ai*si + bi*ti == 1 (mod p),
with positive integers p dividing q.

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

Definition at line 170 of file hensel.py.

## ◆ _get_factors()

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

Definition at line 268 of file hensel.py.

## ◆ from_factors()

 def nzmath.poly.hensel.HenselLiftMulti.from_factors ( cls, target, factors, p )
```Create and return an instance of HenselLiftMulti.

HenselLiftMulti.from_factors(f, factors, p)

The parameters satisfy that:
f == a1*...*ar (mod p)
with a prime number p and ai's in factors.
```

Definition at line 197 of file hensel.py.

## ◆ lift()

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

Definition at line 261 of file hensel.py.

## ◆ lift_factors()

 def nzmath.poly.hensel.HenselLiftMulti.lift_factors ( self )
```Find a lifted integer coefficient polynomials such that:
f = A1*A2*...*Ar (mod q*p),
Ai = ai (mod q) (i=1,2,...,r),
then, update q with q*p.

PRECONDITIONS (automatically satisfied):
f = a1*a2*...*ar (mod q),
ai*si + bi*ti = 1 (mod p) (i=1,2,...,r) and
p | q.
```

Definition at line 215 of file hensel.py.

Referenced by nzmath.poly.hensel.HenselLiftMulti.lift().

```Update ladder si's and ti's with Si's and Ti's:
ai*Si + bi*Ti == 1 (mod p**2) (i = 1, 2, ..., r),
Si == si (mod p) (i = 1, 2, ..., r) and
Ti == ti (mod p) (i = 1, 2, ..., r)
then, update p with p**2.

PRECONDITIONS (automatically satisfied):
ai*si + bi*ti == 1 (mod p)
```

Definition at line 241 of file hensel.py.

Referenced by nzmath.poly.hensel.HenselLiftMulti.lift().

## ◆ a

 nzmath.poly.hensel.HenselLiftMulti.a

Definition at line 185 of file hensel.py.

## ◆ b

 nzmath.poly.hensel.HenselLiftMulti.b

Definition at line 187 of file hensel.py.

## ◆ f

 nzmath.poly.hensel.HenselLiftMulti.f

## ◆ p

 nzmath.poly.hensel.HenselLiftMulti.p

## ◆ q

 nzmath.poly.hensel.HenselLiftMulti.q

## ◆ r

 nzmath.poly.hensel.HenselLiftMulti.r

## ◆ s

 nzmath.poly.hensel.HenselLiftMulti.s

Definition at line 188 of file hensel.py.

## ◆ t

 nzmath.poly.hensel.HenselLiftMulti.t

Definition at line 189 of file hensel.py.

## ◆ factors

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

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