Fraction SΒΆ

fraction.spad line 251 [edit on github]

Fraction takes an IntegralDomain S and produces the domain of Fractions with numerators and denominators from S. If S is also a GcdDomain, then gcd's between numerator and denominator will be cancelled during all operations.

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

*: (%, Fraction Integer) -> %

from RightModule Fraction Integer

*: (%, Integer) -> % if S has LinearlyExplicitOver Integer

from RightModule Integer

*: (%, S) -> %

from RightModule S

*: (Fraction Integer, %) -> %

from LeftModule Fraction Integer

*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (S, %) -> %

from LeftModule S

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

/: (%, %) -> %

from Field

/: (S, S) -> %

from QuotientFieldCategory S

<=: (%, %) -> Boolean if S has OrderedSet

from PartialOrder

<: (%, %) -> Boolean if S has OrderedSet

from PartialOrder

=: (%, %) -> Boolean

from BasicType

>=: (%, %) -> Boolean if S has OrderedSet

from PartialOrder

>: (%, %) -> Boolean if S has OrderedSet

from PartialOrder

^: (%, Integer) -> %

from DivisionRing

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

abs: % -> % if S has OrderedIntegralDomain

from OrderedRing

annihilate?: (%, %) -> Boolean

from Rng

antiCommutator: (%, %) -> %

from NonAssociativeSemiRng

associates?: (%, %) -> Boolean

from EntireRing

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

from NonAssociativeRng

ceiling: % -> S if S has IntegerNumberSystem

from QuotientFieldCategory S

characteristic: () -> NonNegativeInteger

from NonAssociativeRing

charthRoot: % -> Union(%, failed) if S has PolynomialFactorizationExplicit and % has CharacteristicNonZero or S has CharacteristicNonZero

from PolynomialFactorizationExplicit

coerce: % -> %

from Algebra %

coerce: % -> OutputForm

from CoercibleTo OutputForm

coerce: Fraction Integer -> %

from CoercibleFrom Fraction Integer

coerce: Integer -> %

from NonAssociativeRing

coerce: S -> %

from CoercibleFrom S

coerce: Symbol -> % if S has RetractableTo Symbol

from CoercibleFrom Symbol

commutator: (%, %) -> %

from NonAssociativeRng

conditionP: Matrix % -> Union(Vector %, failed) if S has PolynomialFactorizationExplicit and % has CharacteristicNonZero

from PolynomialFactorizationExplicit

convert: % -> DoubleFloat if S has RealConstant

from ConvertibleTo DoubleFloat

convert: % -> Float if S has RealConstant

from ConvertibleTo Float

convert: % -> InputForm if S has ConvertibleTo InputForm

from ConvertibleTo InputForm

convert: % -> Pattern Float if S has ConvertibleTo Pattern Float

from ConvertibleTo Pattern Float

convert: % -> Pattern Integer if S has ConvertibleTo Pattern Integer

from ConvertibleTo Pattern Integer

D: % -> % if S has DifferentialRing

from DifferentialRing

D: (%, List Symbol) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

D: (%, List Symbol, List NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

D: (%, NonNegativeInteger) -> % if S has DifferentialRing

from DifferentialRing

D: (%, S -> S) -> %

from DifferentialExtension S

D: (%, S -> S, NonNegativeInteger) -> %

from DifferentialExtension S

D: (%, Symbol) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

D: (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

denom: % -> S

from QuotientFieldCategory S

denominator: % -> %

from QuotientFieldCategory S

differentiate: % -> % if S has DifferentialRing

from DifferentialRing

differentiate: (%, List Symbol) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

differentiate: (%, List Symbol, List NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

differentiate: (%, NonNegativeInteger) -> % if S has DifferentialRing

from DifferentialRing

differentiate: (%, S -> S) -> %

from DifferentialExtension S

differentiate: (%, S -> S, NonNegativeInteger) -> %

from DifferentialExtension S

differentiate: (%, Symbol) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

differentiate: (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol

from PartialDifferentialRing Symbol

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

from EuclideanDomain

elt: (%, S) -> % if S has Eltable(S, S)

from Eltable(S, %)

euclideanSize: % -> NonNegativeInteger

from EuclideanDomain

eval: (%, Equation S) -> % if S has Evalable S

from Evalable S

eval: (%, List Equation S) -> % if S has Evalable S

from Evalable S

eval: (%, List S, List S) -> % if S has Evalable S

from InnerEvalable(S, S)

eval: (%, List Symbol, List S) -> % if S has InnerEvalable(Symbol, S)

from InnerEvalable(Symbol, S)

eval: (%, S, S) -> % if S has Evalable S

from InnerEvalable(S, S)

eval: (%, Symbol, S) -> % if S has InnerEvalable(Symbol, S)

from InnerEvalable(Symbol, S)

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

from PrincipalIdealDomain

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

from EntireRing

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

from EuclideanDomain

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

from EuclideanDomain

factor: % -> Factored %

from UniqueFactorizationDomain

factorFraction: % -> Fraction Factored S if S has UniqueFactorizationDomain

factorFraction(r) factors the numerator and the denominator of the fraction r.

factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if S has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if S has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

floor: % -> S if S has IntegerNumberSystem

from QuotientFieldCategory S

fractionPart: % -> % if S has EuclideanDomain

from QuotientFieldCategory S

gcd: (%, %) -> %

from GcdDomain

gcd: List % -> %

from GcdDomain

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

from PolynomialFactorizationExplicit

hash: % -> SingleInteger if S has Hashable

from Hashable

hashUpdate!: (HashState, %) -> HashState if S has Hashable

from Hashable

init: % if S has StepThrough

from StepThrough

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

map: (S -> S, %) -> %

from FullyEvalableOver S

max: (%, %) -> % if S has OrderedSet

from OrderedSet

min: (%, %) -> % if S has OrderedSet

from OrderedSet

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

from EuclideanDomain

negative?: % -> Boolean if S has OrderedIntegralDomain

from OrderedRing

nextItem: % -> Union(%, failed) if S has StepThrough

from StepThrough

numer: % -> S

from QuotientFieldCategory S

numerator: % -> %

from QuotientFieldCategory S

OMwrite: % -> String if S has OpenMath and S has IntegerNumberSystem

from OpenMath

OMwrite: (%, Boolean) -> String if S has OpenMath and S has IntegerNumberSystem

from OpenMath

OMwrite: (OpenMathDevice, %) -> Void if S has OpenMath and S has IntegerNumberSystem

from OpenMath

OMwrite: (OpenMathDevice, %, Boolean) -> Void if S has OpenMath and S has IntegerNumberSystem

from OpenMath

one?: % -> Boolean

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

patternMatch: (%, Pattern Float, PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if S has PatternMatchable Float

from PatternMatchable Float

patternMatch: (%, Pattern Integer, PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if S has PatternMatchable Integer

from PatternMatchable Integer

plenaryPower: (%, PositiveInteger) -> %

from NonAssociativeAlgebra %

positive?: % -> Boolean if S has OrderedIntegralDomain

from OrderedRing

prime?: % -> Boolean

from UniqueFactorizationDomain

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

from PrincipalIdealDomain

quo: (%, %) -> %

from EuclideanDomain

recip: % -> Union(%, failed)

from MagmaWithUnit

reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix Integer, vec: Vector Integer) if S has LinearlyExplicitOver Integer

from LinearlyExplicitOver Integer

reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix S, vec: Vector S)

from LinearlyExplicitOver S

reducedSystem: Matrix % -> Matrix Integer if S has LinearlyExplicitOver Integer

from LinearlyExplicitOver Integer

reducedSystem: Matrix % -> Matrix S

from LinearlyExplicitOver S

rem: (%, %) -> %

from EuclideanDomain

retract: % -> Fraction Integer if S has RetractableTo Integer

from RetractableTo Fraction Integer

retract: % -> Integer if S has RetractableTo Integer

from RetractableTo Integer

retract: % -> S

from RetractableTo S

retract: % -> Symbol if S has RetractableTo Symbol

from RetractableTo Symbol

retractIfCan: % -> Union(Fraction Integer, failed) if S has RetractableTo Integer

from RetractableTo Fraction Integer

retractIfCan: % -> Union(Integer, failed) if S has RetractableTo Integer

from RetractableTo Integer

retractIfCan: % -> Union(S, failed)

from RetractableTo S

retractIfCan: % -> Union(Symbol, failed) if S has RetractableTo Symbol

from RetractableTo Symbol

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

sample: %

from AbelianMonoid

sign: % -> Integer if S has OrderedIntegralDomain

from OrderedRing

sizeLess?: (%, %) -> Boolean

from EuclideanDomain

smaller?: (%, %) -> Boolean if S has Comparable

from Comparable

solveLinearPolynomialEquation: (List SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %, failed) if S has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

squareFree: % -> Factored %

from UniqueFactorizationDomain

squareFreePart: % -> %

from UniqueFactorizationDomain

squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if S has PolynomialFactorizationExplicit

from PolynomialFactorizationExplicit

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

from CancellationAbelianMonoid

unit?: % -> Boolean

from EntireRing

unitCanonical: % -> %

from EntireRing

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

from EntireRing

wholePart: % -> S if S has EuclideanDomain

from QuotientFieldCategory S

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup

AbelianMonoid

AbelianSemiGroup

Algebra %

Algebra Fraction Integer

Algebra S

BasicType

BiModule(%, %)

BiModule(Fraction Integer, Fraction Integer)

BiModule(S, S)

CancellationAbelianMonoid

Canonical if S has Canonical and S has GcdDomain and S has canonicalUnitNormal

canonicalsClosed

canonicalUnitNormal

CharacteristicNonZero if S has CharacteristicNonZero

CharacteristicZero if S has CharacteristicZero

CoercibleFrom Fraction Integer if S has RetractableTo Integer

CoercibleFrom Integer if S has RetractableTo Integer

CoercibleFrom S

CoercibleFrom Symbol if S has RetractableTo Symbol

CoercibleTo OutputForm

CommutativeRing

CommutativeStar

Comparable if S has Comparable

ConvertibleTo DoubleFloat if S has RealConstant

ConvertibleTo Float if S has RealConstant

ConvertibleTo InputForm if S has ConvertibleTo InputForm

ConvertibleTo Pattern Float if S has ConvertibleTo Pattern Float

ConvertibleTo Pattern Integer if S has ConvertibleTo Pattern Integer

DifferentialExtension S

DifferentialRing if S has DifferentialRing

DivisionRing

Eltable(S, %) if S has Eltable(S, S)

EntireRing

EuclideanDomain

Evalable S if S has Evalable S

Field

FullyEvalableOver S

FullyLinearlyExplicitOver S

FullyPatternMatchable S

GcdDomain

Hashable if S has Hashable

InnerEvalable(S, S) if S has Evalable S

InnerEvalable(Symbol, S) if S has InnerEvalable(Symbol, S)

IntegralDomain

LeftModule %

LeftModule Fraction Integer

LeftModule S

LeftOreRing

LinearlyExplicitOver Integer if S has LinearlyExplicitOver Integer

LinearlyExplicitOver S

Magma

MagmaWithUnit

Module %

Module Fraction Integer

Module S

Monoid

NonAssociativeAlgebra %

NonAssociativeAlgebra Fraction Integer

NonAssociativeAlgebra S

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

noZeroDivisors

OpenMath if S has OpenMath and S has IntegerNumberSystem

OrderedAbelianGroup if S has OrderedIntegralDomain

OrderedAbelianMonoid if S has OrderedIntegralDomain

OrderedAbelianSemiGroup if S has OrderedIntegralDomain

OrderedCancellationAbelianMonoid if S has OrderedIntegralDomain

OrderedIntegralDomain if S has OrderedIntegralDomain

OrderedRing if S has OrderedIntegralDomain

OrderedSet if S has OrderedSet

PartialDifferentialRing Symbol if S has PartialDifferentialRing Symbol

PartialOrder if S has OrderedSet

Patternable S

PatternMatchable Float if S has PatternMatchable Float

PatternMatchable Integer if S has PatternMatchable Integer

PolynomialFactorizationExplicit if S has PolynomialFactorizationExplicit

PrincipalIdealDomain

QuotientFieldCategory S

RealConstant if S has RealConstant

RetractableTo Fraction Integer if S has RetractableTo Integer

RetractableTo Integer if S has RetractableTo Integer

RetractableTo S

RetractableTo Symbol if S has RetractableTo Symbol

RightModule %

RightModule Fraction Integer

RightModule Integer if S has LinearlyExplicitOver Integer

RightModule S

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

StepThrough if S has StepThrough

TwoSidedRecip

UniqueFactorizationDomain

unitsKnown