UniqueFactorizationDomain

catdef.spad line 1504 [edit on github]

A constructive unique factorization domain, i.e. where we can constructively factor members into a product of a finite number of irreducible elements.

* : (%, %) -> %
from Magma
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
0 : () -> %
from AbelianMonoid
1 : () -> %
from MagmaWithUnit
= : (%, %) -> Boolean
from BasicType
^ : (%, NonNegativeInteger) -> %
from MagmaWithUnit
^ : (%, PositiveInteger) -> %
from Magma
annihilate? : (%, %) -> Boolean
from Rng
antiCommutator : (%, %) -> %
from NonAssociativeSemiRng
associates? : (%, %) -> Boolean
from EntireRing
associator : (%, %, %) -> %
from NonAssociativeRng
characteristic : () -> NonNegativeInteger
from NonAssociativeRing
coerce : % -> %
from Algebra(%)
coerce : Integer -> %
from NonAssociativeRing
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
commutator : (%, %) -> %
from NonAssociativeRng
exquo : (%, %) -> Union(%, "failed")
from EntireRing
factor : % -> Factored(%)

factor(x) returns the factorization of x into irreducibles.

gcd : (%, %) -> %
from GcdDomain
gcd : List(%) -> %
from GcdDomain
gcdPolynomial : (SparseUnivariatePolynomial(%), SparseUnivariatePolynomial(%)) -> SparseUnivariatePolynomial(%)
from GcdDomain
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
one? : % -> Boolean
from MagmaWithUnit
opposite? : (%, %) -> Boolean
from AbelianMonoid
plenaryPower : (%, PositiveInteger) -> %
from NonAssociativeAlgebra(%)
prime? : % -> Boolean

prime?(x) tests if x can never be written as the product of two non-units of the ring, i.e. x is an irreducible element.

recip : % -> Union(%, "failed")
from MagmaWithUnit
rightPower : (%, NonNegativeInteger) -> %
from MagmaWithUnit
rightPower : (%, PositiveInteger) -> %
from Magma
rightRecip : % -> Union(%, "failed")
from MagmaWithUnit
sample : () -> %
from AbelianMonoid
squareFree : % -> Factored(%)

squareFree(x) returns the square-free factorization of x i.e. such that the factors are pairwise relatively prime and each has multiple prime factors.

squareFreePart : % -> %

squareFreePart(x) returns a product of prime factors of x each taken with multiplicity one.

subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
unit? : % -> Boolean
from EntireRing
unitCanonical : % -> %
from EntireRing
unitNormal : % -> Record(unit : %, canonical : %, associate : %)
from EntireRing
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

IntegralDomain

noZeroDivisors

NonAssociativeSemiRng

Algebra(%)

RightModule(%)

Monoid

GcdDomain

AbelianMonoid

CancellationAbelianMonoid

MagmaWithUnit

NonAssociativeRing

LeftModule(%)

CommutativeStar

Module(%)

SetCategory

LeftOreRing

CoercibleTo(OutputForm)

Rng

CommutativeRing

TwoSidedRecip

Magma

SemiGroup

BiModule(%, %)

AbelianGroup

AbelianSemiGroup

NonAssociativeSemiRing

NonAssociativeAlgebra(%)

NonAssociativeRng

unitsKnown

Ring

SemiRng

EntireRing

BasicType

SemiRing