DynamicAlgebraicNumberΒΆ

algclos.spad line 82 [edit on github]

Implement an ACF according to cite{Steel_AlgebraicallyClosedFields_2010}, i.e. the algebraic closure of rational numbers. In contrast to the domain AlgebraicNunber in FriCAS, this domain certifies that that zero tests are corrct. Let tst(a, b)==(x:=sqrt(a*b);y:=sqrt(a)*sqrt(b);zero?(x-y) or zero?(x+y)), then tst(2::AN,3::AN) returns false whereas tst(2::DAN,3::DAN) gives true.

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

*: (%, Fraction Integer) -> %

from RightModule Fraction Integer

*: (Fraction Integer, %) -> %

from LeftModule Fraction Integer

*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

/: (%, %) -> %

from Field

=: (%, %) -> Boolean

from BasicType

^: (%, Fraction Integer) -> %

from RadicalCategory

^: (%, Integer) -> %

from DivisionRing

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

annihilate?: (%, %) -> Boolean

from Rng

antiCommutator: (%, %) -> %

from NonAssociativeSemiRng

associates?: (%, %) -> Boolean

from EntireRing

associator: (%, %, %) -> %

from NonAssociativeRng

characteristic: () -> NonNegativeInteger

from NonAssociativeRing

coerce: % -> %

from Algebra %

coerce: % -> OutputForm

from CoercibleTo OutputForm

coerce: Fraction Integer -> %

from Algebra Fraction Integer

coerce: Integer -> %

from NonAssociativeRing

commutator: (%, %) -> %

from NonAssociativeRng

divide: (%, %) -> Record(quotient: %, remainder: %)

from EuclideanDomain

euclideanSize: % -> NonNegativeInteger

from EuclideanDomain

expressIdealMember: (List %, %) -> Union(List %, failed)

from PrincipalIdealDomain

exquo: (%, %) -> Union(%, failed)

from EntireRing

extendBy!: SparseUnivariatePolynomial % -> %

extendBy!(f) is only exported for debugging purposes. If used then zero?(f(r)) should not hold for any of the known roots stored internally (including xroots).

extendedEuclidean: (%, %) -> Record(coef1: %, coef2: %, generator: %)

from EuclideanDomain

extendedEuclidean: (%, %, %) -> Union(Record(coef1: %, coef2: %), failed)

from EuclideanDomain

extensionPolynomial: PositiveInteger -> SparseUnivariatePolynomial %

factor: % -> Factored %

from UniqueFactorizationDomain

factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial %

from PolynomialFactorizationExplicit

factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial %

from PolynomialFactorizationExplicit

gcd: (%, %) -> %

from GcdDomain

gcd: List % -> %

from GcdDomain

gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial %

from GcdDomain

getRoot: PositiveInteger -> %

hash: % -> SingleInteger

from SetCategory

hashUpdate!: (HashState, %) -> HashState

from SetCategory

inv: % -> %

from DivisionRing

latex: % -> String

from SetCategory

lcm: (%, %) -> %

from GcdDomain

lcm: List % -> %

from GcdDomain

lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %)

from LeftOreRing

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

multiEuclidean: (List %, %) -> Union(List %, failed)

from EuclideanDomain

nthRoot: (%, Integer) -> %

from RadicalCategory

one?: % -> Boolean

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

prime?: % -> Boolean

from UniqueFactorizationDomain

primitiveNthRootOfUnity: Integer -> %
  • primitiveNthRootOfUnity(n) returns a number x such that x^n=1 and x^k is not 1 for every 1<k<n.

principalIdeal: List % -> Record(coef: List %, generator: %)

from PrincipalIdealDomain

quo: (%, %) -> %

from EuclideanDomain

rank: () -> Integer

recip: % -> Union(%, failed)

from MagmaWithUnit

rem: (%, %) -> %

from EuclideanDomain

retract: % -> Fraction Integer

from RetractableTo Fraction Integer

retractIfCan: % -> Union(Fraction Integer, failed)

from RetractableTo Fraction Integer

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

rootOf: (SparseUnivariatePolynomial %, Symbol) -> %

from AlgebraicallyClosedField

rootOf: Polynomial % -> %

from AlgebraicallyClosedField

rootOf: SparseUnivariatePolynomial % -> %

from AlgebraicallyClosedField

rootsOf: (SparseUnivariatePolynomial %, Symbol) -> List %

from AlgebraicallyClosedField

rootsOf: Polynomial % -> List %

from AlgebraicallyClosedField

rootsOf: SparseUnivariatePolynomial % -> List %

from AlgebraicallyClosedField

sample: %

from AbelianMonoid

show: () -> Void

sizeLess?: (%, %) -> Boolean

from EuclideanDomain

solveLinearPolynomialEquation: (List SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %, failed)

from PolynomialFactorizationExplicit

sqrt: % -> %

from RadicalCategory

squareFree: % -> Factored %

from UniqueFactorizationDomain

squareFreePart: % -> %

from UniqueFactorizationDomain

squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial %

from PolynomialFactorizationExplicit

subtractIfCan: (%, %) -> Union(%, failed)

from CancellationAbelianMonoid

unit?: % -> Boolean

from EntireRing

unitCanonical: % -> %

from EntireRing

unitNormal: % -> Record(unit: %, canonical: %, associate: %)

from EntireRing

zero?: % -> Boolean

from AbelianMonoid

zeroOf: (SparseUnivariatePolynomial %, Symbol) -> %

from AlgebraicallyClosedField

zeroOf: Polynomial % -> %

from AlgebraicallyClosedField

zeroOf: SparseUnivariatePolynomial % -> %

from AlgebraicallyClosedField

zerosOf: (SparseUnivariatePolynomial %, Symbol) -> List %

from AlgebraicallyClosedField

zerosOf: Polynomial % -> List %

from AlgebraicallyClosedField

zerosOf: SparseUnivariatePolynomial % -> List %

from AlgebraicallyClosedField

AbelianGroup

AbelianMonoid

AbelianSemiGroup

Algebra %

Algebra Fraction Integer

AlgebraicallyClosedField

BasicType

BiModule(%, %)

BiModule(Fraction Integer, Fraction Integer)

CancellationAbelianMonoid

canonicalsClosed

canonicalUnitNormal

CoercibleFrom Fraction Integer

CoercibleTo OutputForm

CommutativeRing

CommutativeStar

DivisionRing

EntireRing

EuclideanDomain

Field

GcdDomain

IntegralDomain

LeftModule %

LeftModule Fraction Integer

LeftOreRing

Magma

MagmaWithUnit

Module %

Module Fraction Integer

Monoid

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

noZeroDivisors

PolynomialFactorizationExplicit

PrincipalIdealDomain

RadicalCategory

RetractableTo Fraction Integer

RightModule %

RightModule Fraction Integer

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

TwoSidedRecip

UniqueFactorizationDomain

unitsKnown