QEtaTruncatedTaylorSeries CΒΆ
qetaser.spad line 432 [edit on github]
C: Ring
QEtaTruncatedTruncatedSeries(C
) implements truncated Taylor series. They work like Laurent polynomials, but throw away any coefficients that fall into the O
(q^n
) category. Series operation are done directly and not in a lazy fashion. The domain distinguishes between exact and approximated series. An exact series can be expanded (filled with zeros) to any precision. Addition and multiplication of exact series works like polynomials. Addition and multiplication of exact and approximated series gives an approximated series.
- 0: %
from AbelianMonoid
- 1: %
from MagmaWithUnit
- *: (%, %) -> %
from Magma
- *: (%, C) -> %
from RightModule C
- *: (%, Fraction Integer) -> % if C has Algebra Fraction Integer
from RightModule Fraction Integer
- *: (C, %) -> %
from LeftModule C
- *: (Fraction Integer, %) -> % if C has Algebra Fraction Integer
from LeftModule Fraction Integer
- *: (Integer, %) -> %
from AbelianGroup
- *: (NonNegativeInteger, %) -> %
from AbelianMonoid
- *: (PositiveInteger, %) -> %
from AbelianSemiGroup
- +: (%, %) -> %
from AbelianSemiGroup
- -: % -> %
from AbelianGroup
- -: (%, %) -> %
from AbelianGroup
- /: (%, C) -> % if C has Field
from AbelianMonoidRing(C, NonNegativeInteger)
- ^: (%, %) -> % if C has Algebra Fraction Integer
- ^: (%, C) -> % if C has Field
- ^: (%, Fraction Integer) -> % if C has Algebra Fraction Integer
from RadicalCategory
- ^: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- ^: (%, PositiveInteger) -> %
from Magma
- annihilate?: (%, %) -> Boolean
from Rng
- antiCommutator: (%, %) -> %
- approximate: (%, NonNegativeInteger) -> C if C has ^: (C, NonNegativeInteger) -> C and C has coerce: Symbol -> C
- associates?: (%, %) -> Boolean if C has IntegralDomain
from EntireRing
- associator: (%, %, %) -> %
from NonAssociativeRng
- center: % -> C
- characteristic: () -> NonNegativeInteger
from NonAssociativeRing
- charthRoot: % -> Union(%, failed) if C has CharacteristicNonZero
- coefficient: (%, NonNegativeInteger) -> C
from AbelianMonoidRing(C, NonNegativeInteger)
- coefficients: % -> Stream C
- coerce: % -> % if C has CommutativeRing
from Algebra %
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- coerce: % -> SparseUnivariatePolynomial C
coerce(x)
turns the known coefficients into a univariate polynomial.- coerce: C -> % if C has CommutativeRing
from Algebra C
- coerce: Fraction Integer -> % if C has Algebra Fraction Integer
- coerce: Integer -> %
from NonAssociativeRing
- coerce: SparseUnivariatePolynomial C -> %
coerce(p)
embeds the univariate polynomialp
as exact data into this domain.
- commutator: (%, %) -> %
from NonAssociativeRng
- complete: % -> %
from PowerSeriesCategory(C, NonNegativeInteger, SingletonAsOrderedSet)
- construct: List Record(k: NonNegativeInteger, c: C) -> %
from IndexedProductCategory(C, NonNegativeInteger)
- constructOrdered: List Record(k: NonNegativeInteger, c: C) -> %
from IndexedProductCategory(C, NonNegativeInteger)
- D: % -> % if C has *: (NonNegativeInteger, C) -> C
from DifferentialRing
- D: (%, List Symbol) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- D: (%, List Symbol, List NonNegativeInteger) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- D: (%, NonNegativeInteger) -> % if C has *: (NonNegativeInteger, C) -> C
from DifferentialRing
- D: (%, Symbol) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- D: (%, Symbol, NonNegativeInteger) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- degree: % -> NonNegativeInteger
from PowerSeriesCategory(C, NonNegativeInteger, SingletonAsOrderedSet)
- differentiate: % -> % if C has *: (NonNegativeInteger, C) -> C
from DifferentialRing
- differentiate: (%, List Symbol) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- differentiate: (%, List Symbol, List NonNegativeInteger) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- differentiate: (%, NonNegativeInteger) -> % if C has *: (NonNegativeInteger, C) -> C
from DifferentialRing
- differentiate: (%, Symbol) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- differentiate: (%, Symbol, NonNegativeInteger) -> % if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
- elt: (%, %) -> %
from Eltable(%, %)
- elt: (%, NonNegativeInteger) -> C
- eval: (%, C) -> Stream C if C has ^: (C, NonNegativeInteger) -> C
- exact?: % -> Boolean
If exact?(
x
) returnstrue
thenx
represents exact data, i.e. no approximation term is involved. 0 and 1 are exact as are inclusions of univariate polynomials into this domain. precision(x
) is then an indicator of the stored coefficients ofx
, [coefficient(x
,i
) fori
in 0..precision(x
)-1
]. For any i>=precision(x
), coefficient(x
,i
) returns 0. If exact?(x
) isfalse
, thenx
is know only approximately up to precision(x
).
- exponentGcd: (%, PositiveInteger) -> Integer
from QEtaTaylorSeriesCategory C
- exquo: (%, %) -> Union(%, failed) if C has IntegralDomain
from EntireRing
- extend: (%, NonNegativeInteger) -> %
- integrate: % -> % if C has Algebra Fraction Integer
from UnivariateSeriesWithRationalExponents(C, NonNegativeInteger)
- integrate: (%, Symbol) -> % if C has variables: C -> List Symbol and C has Algebra Fraction Integer and C has integrate: (C, Symbol) -> C
from UnivariateSeriesWithRationalExponents(C, NonNegativeInteger)
- latex: % -> String
from SetCategory
- leadingCoefficient: % -> C
from PowerSeriesCategory(C, NonNegativeInteger, SingletonAsOrderedSet)
- leadingMonomial: % -> %
from PowerSeriesCategory(C, NonNegativeInteger, SingletonAsOrderedSet)
- leadingTerm: % -> Record(k: NonNegativeInteger, c: C)
from IndexedProductCategory(C, NonNegativeInteger)
- leftPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- leftPower: (%, PositiveInteger) -> %
from Magma
- leftRecip: % -> Union(%, failed)
from MagmaWithUnit
- map: (C -> C, %) -> %
from IndexedProductCategory(C, NonNegativeInteger)
- mapn: ((C, Integer) -> C, %, Integer) -> %
from QEtaTaylorSeriesCategory C
- monomial?: % -> Boolean
from IndexedProductCategory(C, NonNegativeInteger)
- monomial: (C, NonNegativeInteger) -> %
from IndexedProductCategory(C, NonNegativeInteger)
- multiplyCoefficients: (Integer -> C, %) -> %
- multiplyExponents: (%, PositiveInteger) -> %
- multisect: (Integer, Integer, %) -> %
from QEtaTaylorSeriesCategory C
- one?: % -> Boolean
from MagmaWithUnit
- opposite?: (%, %) -> Boolean
from AbelianMonoid
- order: % -> NonNegativeInteger
- order: (%, NonNegativeInteger) -> NonNegativeInteger
- plenaryPower: (%, PositiveInteger) -> % if C has Algebra Fraction Integer or C has CommutativeRing
from NonAssociativeAlgebra %
- pole?: % -> Boolean
from PowerSeriesCategory(C, NonNegativeInteger, SingletonAsOrderedSet)
- polynomial: (%, NonNegativeInteger) -> Polynomial C
- polynomial: (%, NonNegativeInteger, NonNegativeInteger) -> Polynomial C
- precision: % -> NonNegativeInteger
precision(x)
returns the number of valid coefficients, i.e. the valid coefficients are [coefficient(x
,i
) fori
in 0..precision(x
)-1
].
- quoByVar: % -> %
- recip: % -> Union(%, failed)
from MagmaWithUnit
- reduce: (%, C, %) -> %
reduce(x,c,y)
returns x+c*y.
- reduce: (%, C, Integer, %) -> %
reduce(x,c,e,y)
returns x+c*q^e*y whereq
is the variable of this domain ife>=0
. Ife<0
, then it returnsq^
(-e)*x+c*y.
- reductum: % -> %
from IndexedProductCategory(C, NonNegativeInteger)
- removeInitial: (%, Integer) -> %
reductum(
x
,n
) is the identity forn<=0
and otherwise removesn
leading coefficients from the datastructure. It is like dividingx
byq^n
and removing all terms with negative exponent (whereq
corresponds to the variable of this domain).
- revert: % -> %
from QEtaTaylorSeriesCategory C
- rightPower: (%, NonNegativeInteger) -> %
from MagmaWithUnit
- rightPower: (%, PositiveInteger) -> %
from Magma
- rightRecip: % -> Union(%, failed)
from MagmaWithUnit
- sample: %
from AbelianMonoid
- series: Stream C -> %
- series: Stream Record(k: NonNegativeInteger, c: C) -> %
- sqrt: % -> % if C has Algebra Fraction Integer
from RadicalCategory
- subtractIfCan: (%, %) -> Union(%, failed)
- taylor: List C -> %
taylor(cs)
returns an (inexact) truncated series whose coefficients are given by the listcs
.
- terms: % -> Stream Record(k: NonNegativeInteger, c: C)
- truncate: (%, NonNegativeInteger) -> %
- truncate: (%, NonNegativeInteger, NonNegativeInteger) -> %
- truncateAt: (%, NonNegativeInteger) -> %
truncateAt(t, n)
yields a truncated Taylor series at order k=min(n
,precision(t
)), i.e. precision of the result will bek
.
- truncateAt: (QEtaTaylorSeries C, NonNegativeInteger) -> %
truncateAt(t, n)
yields a truncated Taylor series at ordern>0
, i.e. precision of the result will ben
.
- unit?: % -> Boolean if C has IntegralDomain
from EntireRing
- unitCanonical: % -> % if C has IntegralDomain
from EntireRing
- unitNormal: % -> Record(unit: %, canonical: %, associate: %) if C has IntegralDomain
from EntireRing
- zero?: % -> Boolean
Since we cannot reliably check whether
x
respresents 0, this function returnstrue
only of exact?(x
) holds and all coefficients vanish. Otherwise it returns alwaysfalse
.
AbelianMonoidRing(C, NonNegativeInteger)
Algebra % if C has CommutativeRing
Algebra C if C has CommutativeRing
Algebra Fraction Integer if C has Algebra Fraction Integer
ArcHyperbolicFunctionCategory if C has Algebra Fraction Integer
ArcTrigonometricFunctionCategory if C has Algebra Fraction Integer
BiModule(%, %)
BiModule(C, C)
BiModule(Fraction Integer, Fraction Integer) if C has Algebra Fraction Integer
CharacteristicNonZero if C has CharacteristicNonZero
CharacteristicZero if C has CharacteristicZero
CommutativeRing if C has CommutativeRing
CommutativeStar if C has CommutativeRing
DifferentialRing if C has *: (NonNegativeInteger, C) -> C
ElementaryFunctionCategory if C has Algebra Fraction Integer
Eltable(%, %)
EntireRing if C has IntegralDomain
HyperbolicFunctionCategory if C has Algebra Fraction Integer
IndexedProductCategory(C, NonNegativeInteger)
IntegralDomain if C has IntegralDomain
LeftModule Fraction Integer if C has Algebra Fraction Integer
Module % if C has CommutativeRing
Module C if C has CommutativeRing
Module Fraction Integer if C has Algebra Fraction Integer
NonAssociativeAlgebra % if C has CommutativeRing
NonAssociativeAlgebra C if C has CommutativeRing
NonAssociativeAlgebra Fraction Integer if C has Algebra Fraction Integer
noZeroDivisors if C has IntegralDomain
PartialDifferentialRing Symbol if C has PartialDifferentialRing Symbol and C has *: (NonNegativeInteger, C) -> C
PowerSeriesCategory(C, NonNegativeInteger, SingletonAsOrderedSet)
RadicalCategory if C has Algebra Fraction Integer
RightModule Fraction Integer if C has Algebra Fraction Integer
TranscendentalFunctionCategory if C has Algebra Fraction Integer
TrigonometricFunctionCategory if C has Algebra Fraction Integer
TwoSidedRecip if C has CommutativeRing
UnivariatePowerSeriesCategory(C, NonNegativeInteger)
UnivariateSeriesWithRationalExponents(C, NonNegativeInteger)