NZMATH
1.2.0
About: NZMATH is a Python based number theory oriented calculation system.
![]() ![]() |
Public Member Functions | |
def | __init__ (self, valuelist, polynomial, precompute=False) |
def | __repr__ (self) |
def | __neg__ (self) |
def | __add__ (self, other) |
def | __sub__ (self, other) |
def | __mul__ (self, other) |
def | __pow__ (self, exponent, mod=None) |
def | inverse (self) |
def | __truediv__ (self, other) |
def | getConj (self) |
def | getApprox (self) |
def | getCharPoly (self) |
def | getRing (self) |
def | trace (self) |
def | norm (self) |
def | isAlgInteger (self) |
def | ch_matrix (self) |
Public Attributes | |
value | |
coeff | |
denom | |
degree | |
polynomial | |
field | |
conj | |
approx | |
charpoly | |
Private Member Functions | |
def | _int_to_algnumber (self, other) |
def | _rational_to_algnumber (self, other) |
Static Private Attributes | |
def | __radd__ = __add__ |
def | __rmul__ = __mul__ |
def | __div__ = __truediv__ |
def | __floordiv__ = __truediv__ |
The class for algebraic number.
Definition at line 341 of file algfield.py.
def nzmath.algfield.BasicAlgNumber.__init__ | ( | self, | |
valuelist, | |||
polynomial, | |||
precompute = False |
|||
) |
Definition at line 345 of file algfield.py.
def nzmath.algfield.BasicAlgNumber.__add__ | ( | self, | |
other | |||
) |
Definition at line 388 of file algfield.py.
References nzmath.algfield.BasicAlgNumber._int_to_algnumber(), nzmath.algfield.BasicAlgNumber._rational_to_algnumber(), nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, and nzmath.bigrange.range().
Referenced by nzmath.algfield.BasicAlgNumber.__sub__().
def nzmath.algfield.BasicAlgNumber.__mul__ | ( | self, | |
other | |||
) |
Definition at line 408 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, nzmath.bigrange.range(), and nzmath.algfield.zpoly().
def nzmath.algfield.BasicAlgNumber.__neg__ | ( | self | ) |
Definition at line 368 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, and nzmath.bigrange.range().
def nzmath.algfield.BasicAlgNumber.__pow__ | ( | self, | |
exponent, | |||
mod = None |
|||
) |
Definition at line 434 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, nzmath.bigrange.range(), and nzmath.algfield.zpoly().
def nzmath.algfield.BasicAlgNumber.__repr__ | ( | self | ) |
Definition at line 364 of file algfield.py.
References nzmath.matrix.Matrix.__class__, nzmath.matrix.RingMatrix.__class__, nzmath.matrix.RingSquareMatrix.__class__, nzmath.matrix.FieldMatrix.__class__, nzmath.matrix.MatrixRing.__class__, nzmath.matrix.Subspace.__class__, nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, and nzmath.algfield.BasicAlgNumber.polynomial.
def nzmath.algfield.BasicAlgNumber.__sub__ | ( | self, | |
other | |||
) |
Definition at line 405 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.__add__().
def nzmath.algfield.BasicAlgNumber.__truediv__ | ( | self, | |
other | |||
) |
Definition at line 465 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, nzmath.bigrange.range(), and nzmath.algfield.zpoly().
|
private |
other (integer) -> BasicAlgNumber (over self.field)
Definition at line 374 of file algfield.py.
References nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.NumberField.polynomial, and nzmath.algfield.BasicAlgNumber.polynomial.
Referenced by nzmath.algfield.BasicAlgNumber.__add__().
|
private |
other (rational) -> BasicAlgNumber (over self.field)
Definition at line 381 of file algfield.py.
References nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.NumberField.polynomial, and nzmath.algfield.BasicAlgNumber.polynomial.
Referenced by nzmath.algfield.BasicAlgNumber.__add__().
def nzmath.algfield.BasicAlgNumber.ch_matrix | ( | self | ) |
Change style to MatAlgNumber.
Definition at line 583 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, and nzmath.bigrange.range().
def nzmath.algfield.BasicAlgNumber.getApprox | ( | self | ) |
Return the approximations of all conjugates of self.
Definition at line 488 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.NumberField.getConj(), nzmath.algfield.BasicAlgNumber.getConj(), and nzmath.bigrange.range().
Referenced by nzmath.algfield.BasicAlgNumber.getCharPoly().
def nzmath.algfield.BasicAlgNumber.getCharPoly | ( | self | ) |
Return the characteristic polynomial of self by compute products of (x-self^{(i)}).
Definition at line 502 of file algfield.py.
References nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.BasicAlgNumber.getApprox(), and nzmath.bigrange.range().
def nzmath.algfield.BasicAlgNumber.getConj | ( | self | ) |
Return (approximate) solutions of self.polynomial. We can discriminate the conjugate field of self by these values.
Definition at line 479 of file algfield.py.
Referenced by nzmath.algfield.BasicAlgNumber.getApprox().
def nzmath.algfield.BasicAlgNumber.getRing | ( | self | ) |
Return the algebraic number field contained self.
Definition at line 522 of file algfield.py.
References nzmath.algfield.NumberField.polynomial, and nzmath.algfield.BasicAlgNumber.polynomial.
Referenced by nzmath.poly.multiutil.RingPolynomial.__add__(), nzmath.ring.QuotientFieldElement.__add__(), nzmath.poly.uniutil.RingPolynomial.__add__(), nzmath.ring.QuotientFieldElement.__eq__(), nzmath.poly.uniutil.FieldPolynomial.__pow__(), nzmath.poly.multiutil.RingPolynomial.__radd__(), nzmath.poly.uniutil.RingPolynomial.__radd__(), nzmath.poly.multiutil.RingPolynomial.__rsub__(), nzmath.ring.QuotientFieldElement.__rsub__(), nzmath.poly.uniutil.RingPolynomial.__rsub__(), nzmath.ring.QuotientFieldElement.__rtruediv__(), nzmath.poly.multiutil.RingPolynomial.__sub__(), nzmath.ring.QuotientFieldElement.__sub__(), nzmath.poly.uniutil.RingPolynomial.__sub__(), nzmath.ring.QuotientFieldElement.__truediv__(), nzmath.poly.uniutil.PrimeCharacteristicFunctionsProvider._small_index_mod_pow(), nzmath.ring.CommutativeRingElement.exact_division(), nzmath.poly.uniutil.DivisionProvider.extgcd(), nzmath.poly.uniutil.PrimeCharacteristicFunctionsProvider.factor(), nzmath.poly.uniutil.DivisionProvider.mod_pow(), nzmath.poly.uniutil.PrimeCharacteristicFunctionsProvider.mod_pow(), nzmath.poly.uniutil.PseudoDivisionProvider.monic_pow(), nzmath.ring.CommutativeRingElement.mul_module_action(), and nzmath.poly.uniutil.SubresultantGcdProvider.subresultant_gcd().
def nzmath.algfield.BasicAlgNumber.inverse | ( | self | ) |
Definition at line 446 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, nzmath.algfield.qpoly(), and nzmath.bigrange.range().
Referenced by nzmath.permute.Permute.__pow__(), nzmath.intresidue.IntegerResidueClass.__pow__(), nzmath.permute.ExPermute.__pow__(), nzmath.module.Ideal.__pow__(), nzmath.matrix.RingSquareMatrix.__pow__(), nzmath.permute.Permute.__rdiv__(), nzmath.permute.ExPermute.__rdiv__(), and nzmath.ring.QuotientFieldElement.__rtruediv__().
def nzmath.algfield.BasicAlgNumber.isAlgInteger | ( | self | ) |
Determine whether self is an algebraic integer or not.
Definition at line 573 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.norm().
def nzmath.algfield.BasicAlgNumber.norm | ( | self | ) |
Compute the norm of self in K.
Definition at line 553 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.NumberField.degree, nzmath.algfield.BasicAlgNumber.degree, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, and nzmath.algfield.zpoly().
Referenced by nzmath.algfield.BasicAlgNumber.isAlgInteger(), and nzmath.module.Ideal.isPrime().
def nzmath.algfield.BasicAlgNumber.trace | ( | self | ) |
Compute the trace of self in K.
Definition at line 528 of file algfield.py.
References nzmath.algfield.BasicAlgNumber.coeff, nzmath.algfield.BasicAlgNumber.denom, nzmath.algfield.NumberField.polynomial, nzmath.algfield.BasicAlgNumber.polynomial, and nzmath.bigrange.range().
Referenced by nzmath.matrix.RingSquareMatrix._characteristicPolyList(), and nzmath.elliptic.ECoverGF.order().
|
staticprivate |
Definition at line 476 of file algfield.py.
|
staticprivate |
Definition at line 477 of file algfield.py.
|
staticprivate |
Definition at line 403 of file algfield.py.
|
staticprivate |
Definition at line 432 of file algfield.py.
nzmath.algfield.BasicAlgNumber.approx |
Definition at line 499 of file algfield.py.
nzmath.algfield.BasicAlgNumber.charpoly |
Definition at line 519 of file algfield.py.
nzmath.algfield.BasicAlgNumber.coeff |
Definition at line 349 of file algfield.py.
Referenced by nzmath.algfield.BasicAlgNumber.__add__(), nzmath.algfield.BasicAlgNumber.__mul__(), nzmath.algfield.BasicAlgNumber.__neg__(), nzmath.algfield.BasicAlgNumber.__pow__(), nzmath.algfield.BasicAlgNumber.__repr__(), nzmath.algfield.BasicAlgNumber.__truediv__(), nzmath.algfield.MatAlgNumber.ch_basic(), nzmath.algfield.BasicAlgNumber.ch_matrix(), nzmath.algfield.BasicAlgNumber.getApprox(), nzmath.algfield.BasicAlgNumber.inverse(), nzmath.algfield.BasicAlgNumber.norm(), and nzmath.algfield.BasicAlgNumber.trace().
nzmath.algfield.BasicAlgNumber.conj |
Definition at line 485 of file algfield.py.
nzmath.algfield.BasicAlgNumber.degree |
Definition at line 351 of file algfield.py.
Referenced by nzmath.poly.array.ArrayPoly.__add__(), nzmath.algfield.MatAlgNumber.__add__(), nzmath.finitefield.ExtendedField.__eq__(), nzmath.finitefield.ExtendedField.__hash__(), nzmath.poly.array.ArrayPoly.__mul__(), nzmath.poly.array.ArrayPolyMod.__mul__(), nzmath.algfield.BasicAlgNumber.__mul__(), nzmath.algfield.BasicAlgNumber.__pow__(), nzmath.finitefield.ExtendedField.__repr__(), nzmath.poly.array.ArrayPoly.__sub__(), nzmath.algfield.MatAlgNumber.__sub__(), nzmath.algfield.BasicAlgNumber.__truediv__(), nzmath.algfield.BasicAlgNumber._int_to_algnumber(), nzmath.algfield.BasicAlgNumber._rational_to_algnumber(), nzmath.finitefield.ExtendedField.card(), nzmath.algfield.MatAlgNumber.ch_basic(), nzmath.algfield.BasicAlgNumber.ch_matrix(), nzmath.poly.array.ArrayPoly.coefficients_to_dict(), nzmath.poly.uniutil.DomainPolynomial.discriminant(), nzmath.poly.uniutil.FieldPolynomial.discriminant(), nzmath.poly.array.ArrayPoly.downshift_degree(), nzmath.poly.array.ArrayPoly.FFT_mul(), nzmath.poly.array.ArrayPolyMod.FFT_mul(), nzmath.algfield.BasicAlgNumber.getApprox(), nzmath.algfield.BasicAlgNumber.getCharPoly(), nzmath.algfield.BasicAlgNumber.inverse(), nzmath.finitefield.ExtendedField.issubring(), nzmath.algfield.BasicAlgNumber.norm(), nzmath.poly.array.ArrayPoly.power(), nzmath.poly.array.ArrayPolyMod.power(), nzmath.poly.array.ArrayPoly.split_at(), and nzmath.poly.array.ArrayPolyMod.split_at().
nzmath.algfield.BasicAlgNumber.denom |
Definition at line 350 of file algfield.py.
Referenced by nzmath.algfield.BasicAlgNumber.__add__(), nzmath.algfield.BasicAlgNumber.__mul__(), nzmath.algfield.BasicAlgNumber.__neg__(), nzmath.algfield.BasicAlgNumber.__pow__(), nzmath.algfield.BasicAlgNumber.__repr__(), nzmath.algfield.BasicAlgNumber.__truediv__(), nzmath.algfield.BasicAlgNumber.ch_matrix(), nzmath.algfield.BasicAlgNumber.inverse(), nzmath.algfield.BasicAlgNumber.norm(), and nzmath.algfield.BasicAlgNumber.trace().
nzmath.algfield.BasicAlgNumber.field |
Definition at line 353 of file algfield.py.
Referenced by nzmath.finitefield.ExtendedFieldElement.__add__(), nzmath.finitefield.ExtendedFieldElement.__eq__(), nzmath.finitefield.ExtendedFieldElement.__mul__(), nzmath.finitefield.ExtendedFieldElement.__neg__(), nzmath.finitefield.ExtendedFieldElement.__pow__(), nzmath.finitefield.ExtendedFieldElement.__repr__(), nzmath.finitefield.ExtendedFieldElement.__sub__(), nzmath.finitefield.ExtendedFieldElement._op(), nzmath.finitefield.ExtendedFieldElement.getRing(), nzmath.finitefield.ExtendedFieldElement.inverse(), nzmath.finitefield.ExtendedFieldElement.norm(), and nzmath.finitefield.ExtendedFieldElement.trace().
nzmath.algfield.BasicAlgNumber.polynomial |
Definition at line 352 of file algfield.py.
Referenced by nzmath.algfield.BasicAlgNumber.__add__(), nzmath.algfield.MatAlgNumber.__add__(), nzmath.algfield.BasicAlgNumber.__mul__(), nzmath.algfield.MatAlgNumber.__mul__(), nzmath.algfield.BasicAlgNumber.__neg__(), nzmath.algfield.MatAlgNumber.__neg__(), nzmath.algfield.BasicAlgNumber.__pow__(), nzmath.algfield.MatAlgNumber.__pow__(), nzmath.algfield.BasicAlgNumber.__repr__(), nzmath.algfield.MatAlgNumber.__repr__(), nzmath.algfield.MatAlgNumber.__sub__(), nzmath.algfield.BasicAlgNumber.__truediv__(), nzmath.algfield.MatAlgNumber.__truediv__(), nzmath.algfield.BasicAlgNumber._int_to_algnumber(), nzmath.algfield.BasicAlgNumber._rational_to_algnumber(), nzmath.algfield.MatAlgNumber.ch_basic(), nzmath.algfield.BasicAlgNumber.ch_matrix(), nzmath.algfield.BasicAlgNumber.getRing(), nzmath.algfield.MatAlgNumber.getRing(), nzmath.algfield.BasicAlgNumber.inverse(), nzmath.algfield.MatAlgNumber.inverse(), nzmath.algfield.BasicAlgNumber.norm(), and nzmath.algfield.BasicAlgNumber.trace().
nzmath.algfield.BasicAlgNumber.value |
Definition at line 348 of file algfield.py.