diff options
Diffstat (limited to 'src/algebra/mts.spad.pamphlet')
-rw-r--r-- | src/algebra/mts.spad.pamphlet | 84 |
1 files changed, 41 insertions, 43 deletions
diff --git a/src/algebra/mts.spad.pamphlet b/src/algebra/mts.spad.pamphlet index 1f232c31..14037a2a 100644 --- a/src/algebra/mts.spad.pamphlet +++ b/src/algebra/mts.spad.pamphlet @@ -77,6 +77,9 @@ SparseMultivariateTaylorSeries(Coef,Var,SMP):_ Implementation ==> PS add Rep := StS -- Below we use the fact that Rep of PS is Stream SMP. + -- FIXME: The next two functions come free if assignment to Rep is removed. + rep(x: %): Rep == x pretend Rep + per(x: Rep): % == x pretend % extend(x,n) == extend(x,n + 1)$Rep complete x == complete(x)$Rep @@ -95,9 +98,9 @@ SparseMultivariateTaylorSeries(Coef,Var,SMP):_ --% creation of series coerce(r:Coef) == monom(r::SMP,0)$STT - smp:SMP * p:% == (((smp) * (p pretend Rep))$STT)pretend % - r:Coef * p:% == (((r::SMP) * (p pretend Rep))$STT)pretend % - p:% * r:Coef == (((r::SMP) * ( p pretend Rep))$STT)pretend % + smp:SMP * p:% == per((smp * rep p)$STT) + r:Coef * p:% == per(((r::SMP) * rep p )$STT) + p:% * r:Coef == per(((r::SMP) * rep p)$STT) mts(p:SMP):% == (uv := mainVariable p) case "failed" => monom(p,0)$STT v := uv :: Var @@ -187,43 +190,40 @@ SparseMultivariateTaylorSeries(Coef,Var,SMP):_ map(differentiate(#1,v),rst s) if Coef has Algebra Fraction Integer then - - stream(x:%):Rep == x pretend Rep - - (x:%) ** (r:RN) == powern(r,stream x)$STT - (r:RN) * (x:%) == map(r * #1, stream x)$ST2(SMP,SMP) pretend % - (x:%) * (r:RN) == map(#1 * r,stream x )$ST2(SMP,SMP) pretend % - - exp x == exp(stream x)$STF - log x == log(stream x)$STF - - sin x == sin(stream x)$STF - cos x == cos(stream x)$STF - tan x == tan(stream x)$STF - cot x == cot(stream x)$STF - sec x == sec(stream x)$STF - csc x == csc(stream x)$STF - - asin x == asin(stream x)$STF - acos x == acos(stream x)$STF - atan x == atan(stream x)$STF - acot x == acot(stream x)$STF - asec x == asec(stream x)$STF - acsc x == acsc(stream x)$STF - - sinh x == sinh(stream x)$STF - cosh x == cosh(stream x)$STF - tanh x == tanh(stream x)$STF - coth x == coth(stream x)$STF - sech x == sech(stream x)$STF - csch x == csch(stream x)$STF - - asinh x == asinh(stream x)$STF - acosh x == acosh(stream x)$STF - atanh x == atanh(stream x)$STF - acoth x == acoth(stream x)$STF - asech x == asech(stream x)$STF - acsch x == acsch(stream x)$STF + (x:%) ** (r:RN) == powern(r,rep x)$STT + (r:RN) * (x:%) == per map(r * #1, rep x)$ST2(SMP,SMP) + (x:%) * (r:RN) == per map(#1 * r,rep x )$ST2(SMP,SMP) + + exp x == exp(rep x)$STF + log x == log(rep x)$STF + + sin x == sin(rep x)$STF + cos x == cos(rep x)$STF + tan x == tan(rep x)$STF + cot x == cot(rep x)$STF + sec x == sec(rep x)$STF + csc x == csc(rep x)$STF + + asin x == asin(rep x)$STF + acos x == acos(rep x)$STF + atan x == atan(rep x)$STF + acot x == acot(rep x)$STF + asec x == asec(rep x)$STF + acsc x == acsc(rep x)$STF + + sinh x == sinh(rep x)$STF + cosh x == cosh(rep x)$STF + tanh x == tanh(rep x)$STF + coth x == coth(rep x)$STF + sech x == sech(rep x)$STF + csch x == csch(rep x)$STF + + asinh x == asinh(rep x)$STF + acosh x == acosh(rep x)$STF + atanh x == atanh(rep x)$STF + acoth x == acoth(rep x)$STF + asech x == asech(rep x)$STF + acsch x == acsch(rep x)$STF intsmp(v:Var,p: SMP): SMP == up := univariate(p,v) @@ -272,9 +272,7 @@ SparseMultivariateTaylorSeries(Coef,Var,SMP):_ empty? l => (0$SMP) :: OUT reduce("+",reverse! l) if Coef has Field then - stream(x:%):Rep == x pretend Rep - SF2==> StreamFunctions2 - p:% / r:Coef ==(map(#1/$SMP r,stream p)$SF2(SMP,SMP))pretend % + p:% / r:Coef == per(map(#1/$SMP r,rep p)$StreamFunctions2(SMP,SMP)) @ \section{domain TS TaylorSeries} |