/usr/share/axiom-20170501/src/algebra/IR2.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | )abbrev package IR2 IntegrationResultFunctions2
++ Author: Manuel Bronstein
++ Date Created: 1987
++ Date Last Updated: 12 August 1992
++ Description:
++ Internally used by the integration packages
IntegrationResultFunctions2(E, F) : SIG == CODE where
E : Field
F : Field
SE ==> Symbol
Q ==> Fraction Integer
IRE ==> IntegrationResult E
IRF ==> IntegrationResult F
UPE ==> SparseUnivariatePolynomial E
UPF ==> SparseUnivariatePolynomial F
NEE ==> Record(integrand:E, intvar:E)
NEF ==> Record(integrand:F, intvar:F)
LGE ==> Record(scalar:Q, coeff:UPE, logand:UPE)
LGF ==> Record(scalar:Q, coeff:UPF, logand:UPF)
NLE ==> Record(coeff:E, logand:E)
NLF ==> Record(coeff:F, logand:F)
UFE ==> Union(Record(mainpart:E, limitedlogs:List NLE), "failed")
URE ==> Union(Record(ratpart:E, coeff:E), "failed")
UE ==> Union(E, "failed")
SIG ==> with
map : (E -> F, IRE) -> IRF
++ map(f,ire) \undocumented
map : (E -> F, URE) -> Union(Record(ratpart:F, coeff:F), "failed")
++ map(f,ure) \undocumented
map : (E -> F, UE) -> Union(F, "failed")
++ map(f,ue) \undocumented
map : (E -> F, UFE) ->
Union(Record(mainpart:F, limitedlogs:List NLF), "failed")
++ map(f,ufe) \undocumented
CODE ==> add
import SparseUnivariatePolynomialFunctions2(E, F)
NEE2F: (E -> F, NEE) -> NEF
LGE2F: (E -> F, LGE) -> LGF
NLE2F: (E -> F, NLE) -> NLF
NLE2F(func, r) == [func(r.coeff), func(r.logand)]
NEE2F(func, n) == [func(n.integrand), func(n.intvar)]
map(func:E -> F, u:UE) == (u case "failed" => "failed"; func(u::E))
map(func:E -> F, ir:IRE) ==
mkAnswer(func ratpart ir, [LGE2F(func, f) for f in logpart ir],
[NEE2F(func, g) for g in notelem ir])
map(func:E -> F, u:URE) ==
u case "failed" => "failed"
[func(u.ratpart), func(u.coeff)]
map(func:E -> F, u:UFE) ==
u case "failed" => "failed"
[func(u.mainpart), [NLE2F(func, f) for f in u.limitedlogs]]
LGE2F(func, lg) ==
[lg.scalar, map(func, lg.coeff), map(func, lg.logand)]
|