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

Public Member Functions

def __init__ (self, target, factors, cofactors, bases, p)
 
def from_factors (cls, target, factors, p, ubound=sys.maxint)
 
def first_lift (self)
 
def general_lift (self)
 
def lift (self)
 

Public Attributes

 f
 
 gis
 
 his
 
 r
 
 sis
 
 tis
 
 p
 
 dis
 
 q
 
 bis
 
 uis
 
 yis
 
 zis
 
 modp
 

Properties

 factors = property(_get_factors)
 

Private Member Functions

def _init_dis (self)
 
def _solve_yz (self, i)
 
def _get_factors (self)
 
def _assertEqualModulo (self, expected, actual, modulus, message=None)
 

Detailed Description

INVARIANTS:
  ai's, pi's and gi's are monic
  f == g1*g2*...*gr (mod p)
  f == d0 + d1*p + d2*p**2 +...+ dk*p**k
  hi == g(i+1)*...*gr
  1 == gi*si + hi*ti (mod p) (i = 1, 2,..., r)
  deg(si) < deg(hi), deg(ti) < deg(gi)
  p | q
  f == l1*l2*...*lr (mod q/p)
  f == a1*a2*...*ar (mod q)
  ui == ai*yi + bi*zi (mod p) (i = 1, 2,..., r)

REFERENCE:
G.E.Collins & M.J.Encarnaci'on.
Improved Techniques for factoring Univariate Polynomials,
J.Symb.Comp. 21, 313--327 (1996).

Definition at line 277 of file hensel.py.

Constructor & Destructor Documentation

◆ __init__()

def nzmath.poly.hensel.HenselLiftSimultaneously.__init__ (   self,
  target,
  factors,
  cofactors,
  bases,
  p 
)
Prepare attributes

Definition at line 297 of file hensel.py.

Member Function Documentation

◆ _assertEqualModulo()

def nzmath.poly.hensel.HenselLiftSimultaneously._assertEqualModulo (   self,
  expected,
  actual,
  modulus,
  message = None 
)
private

◆ _get_factors()

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

Definition at line 470 of file hensel.py.

References nzmath.poly.hensel.HenselLiftSimultaneously.gis.

◆ _init_dis()

◆ _solve_yz()

def nzmath.poly.hensel.HenselLiftSimultaneously._solve_yz (   self,
  i 
)
private

◆ first_lift()

◆ from_factors()

def nzmath.poly.hensel.HenselLiftSimultaneously.from_factors (   cls,
  target,
  factors,
  p,
  ubound = sys.maxint 
)
Create and return an instance of HenselLiftSimultaneously,
whose factors are lifted by HenselLiftMulti upto ubound (if it
is smaller than sys.maxint, or upto sys.maxint).

HenselLiftSimultaneously.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 338 of file hensel.py.

◆ general_lift()

◆ lift()

def nzmath.poly.hensel.HenselLiftSimultaneously.lift (   self)
The lift

Definition at line 441 of file hensel.py.

References nzmath.poly.hensel.HenselLiftSimultaneously.general_lift().

Member Data Documentation

◆ bis

nzmath.poly.hensel.HenselLiftSimultaneously.bis

◆ dis

◆ f

◆ gis

◆ his

nzmath.poly.hensel.HenselLiftSimultaneously.his

◆ modp

nzmath.poly.hensel.HenselLiftSimultaneously.modp

◆ p

◆ q

nzmath.poly.hensel.HenselLiftSimultaneously.q

◆ r

nzmath.poly.hensel.HenselLiftSimultaneously.r

◆ sis

nzmath.poly.hensel.HenselLiftSimultaneously.sis

Definition at line 306 of file hensel.py.

Referenced by nzmath.poly.hensel.HenselLiftSimultaneously._solve_yz().

◆ tis

nzmath.poly.hensel.HenselLiftSimultaneously.tis

Definition at line 307 of file hensel.py.

Referenced by nzmath.poly.hensel.HenselLiftSimultaneously._solve_yz().

◆ uis

◆ yis

nzmath.poly.hensel.HenselLiftSimultaneously.yis

◆ zis

nzmath.poly.hensel.HenselLiftSimultaneously.zis

Property Documentation

◆ factors


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