spad
)abbrev category ACF AlgebraicallyClosedField
++ Author: Manuel Bronstein
++ Date Created: 22 Mar 1988
++ Date Last Updated: 27 November 1991
++ Description:
++ Model for algebraically closed fields.
++ Keywords: algebraic, closure, field.
AlgebraicallyClosedField() : Category == Join(Field, RadicalCategory) with
rootOf : Polynomial % -> %
++ rootOf(p) returns y such that \spad{p(y) = 0}.
++ Error: if p has more than one variable y.
rootOf : SparseUnivariatePolynomial % -> %
++ rootOf(p) returns y such that \spad{p(y) = 0}.
rootOf : (SparseUnivariatePolynomial %, Symbol) -> %
++ rootOf(p, y) returns y such that \spad{p(y) = 0}.
++ The object returned displays as \spad{'y}.
rootsOf : Polynomial % -> List %
++ rootsOf(p) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0}.
++ Note: the returned values y1, ..., yn contain new symbols which
++ are bound in the interpreter to the respective values.
++ Error: if p has more than one variable y.
rootsOf : SparseUnivariatePolynomial % -> List %
++ rootsOf(p) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0}.
++ Note: the returned values y1, ..., yn contain new symbols which
++ are bound in the interpreter to the respective values.
rootsOf : (SparseUnivariatePolynomial %, Symbol) -> List %
++ rootsOf(p, z) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0};
++ The returned roots contain new symbols \spad{'%z0}, \spad{'%z1} ...;
++ Note: the new symbols are bound in the interpreter to the
++ respective values.
zeroOf : Polynomial % -> %
++ zeroOf(p) returns y such that \spad{p(y) = 0}.
++ If possible, y is expressed in terms of radicals.
++ Otherwise it is an implicit algebraic quantity.
++ Error: if p has more than one variable y.
zeroOf : SparseUnivariatePolynomial % -> %
++ zeroOf(p) returns y such that \spad{p(y) = 0};
++ if possible, y is expressed in terms of radicals.
++ Otherwise it is an implicit algebraic quantity.
zeroOf : (SparseUnivariatePolynomial %, Symbol) -> %
++ zeroOf(p, y) returns y such that \spad{p(y) = 0};
++ if possible, y is expressed in terms of radicals.
++ Otherwise it is an implicit algebraic quantity which
++ displays as \spad{'y}.
zerosOf : Polynomial % -> List %
++ zerosOf(p) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0}.
++ The yi's are expressed in radicals if possible.
++ Otherwise they are implicit algebraic quantities containing
++ new symbols. The new symbols are bound in the interpreter to the
++ respective values.
++ Error: if p has more than one variable y.
zerosOf : SparseUnivariatePolynomial % -> List %
++ zerosOf(p) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0}.
++ The yi's are expressed in radicals if possible.
++ Otherwise they are implicit algebraic quantities containing
++ new symbols. The new symbols are bound in the interpreter to the
++ respective values.
zerosOf : (SparseUnivariatePolynomial %, Symbol) -> List %
++ zerosOf(p, y) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0}.
++ The yi's are expressed in radicals if possible, and otherwise
++ as implicit algebraic quantities containing
++ new symbols which display as \spad{'%z0}, \spad{'%z1}, ...;
++ The new symbols are bound in the interpreter
++ to respective values.
add
SUP ==> SparseUnivariatePolynomial %
import from List(Symbol)
assign : (Symbol, %) -> %
allroots : (SUP, Symbol, (SUP, Symbol) -> %) -> List %
binomialRoots : (SUP, Symbol, (SUP, Symbol) -> %) -> List %
zeroOf(p : SUP) == assign(x := new(), zeroOf(p, x))
rootOf(p : SUP) == assign(x := new(), rootOf(p, x))
zerosOf(p : SUP) == zerosOf(p, new())
rootsOf(p : SUP) == rootsOf(p, new())
rootsOf(p : SUP, y : Symbol) == allroots(p, y, rootOf)
zerosOf(p : SUP, y : Symbol) == allroots(p, y, zeroOf)
assign(x, f) == (assignSymbol(x, f, %)$Lisp; f)
zeroOf(p : Polynomial %) ==
empty?(l := variables p) => error "zeroOf: constant polynomial"
zeroOf(univariate p, first l)
rootOf(p : Polynomial %) ==
empty?(l := variables p) => error "rootOf: constant polynomial"
rootOf(univariate p, first l)
zerosOf(p : Polynomial %) ==
empty?(l := variables p) => error "zerosOf: constant polynomial"
zerosOf(univariate p, first l)
rootsOf(p : Polynomial %) ==
empty?(l := variables p) => error "rootsOf: constant polynomial"
rootsOf(univariate p, first l)
zeroOf(p : SUP, y : Symbol) ==
zero?(d := degree p) => error "zeroOf: constant polynomial"
zero? coefficient(p, 0) => 0
a := leadingCoefficient p
d = 2 =>
b := coefficient(p, 1)
(sqrt(b^2 - 4 * a * coefficient(p, 0)) - b) / (2 * a)
(r := retractIfCan(reductum p)@Union(%,"failed")) case "failed" =>
rootOf(p, y)
nthRoot(- (r::% / a), d)
binomialRoots(p, y, fn) ==
-- p = a * x^n + b
alpha := assign(x := new(y)$Symbol, fn(p, x))
-- one?(n := degree p) => [ alpha ]
((n := degree p) = 1) => [ alpha ]
cyclo := cyclotomic(n, monomial(1, 1)$SUP)$NumberTheoreticPolynomialFunctions(SUP)
beta := assign(x := new(y)$Symbol, fn(cyclo, x))
[alpha*beta^i for i in 0..(n-1)::NonNegativeInteger]
import from PolynomialDecomposition(SUP, %)
allroots(p, y, fn) ==
zero? p => error "allroots: polynomial must be nonzero"
zero? coefficient(p, 0) =>
concat(0, allroots(p quo monomial(1, 1), y, fn))
zero?(p1 := reductum p) => empty()
zero? reductum p1 => binomialRoots(p, y, fn)
decompList := decompose(p)
# decompList > 1 =>
h := last decompList
g := leftFactor(p, h) :: SUP
groots := allroots(g, y, fn)
"append"/[allroots(h-r::SUP, y, fn) for r in groots]
ans := nil()$List(%)
while not ground? p repeat
alpha := assign(x := new(y)$Symbol, fn(p, x))
q := monomial(1, 1)$SUP - alpha::SUP
if not zero?(p alpha) then
p := p quo q
ans := concat(alpha, ans)
else while zero?(p alpha) repeat
p := (p exquo q)::SUP
ans := concat(alpha, ans)
reverse! ans
)abbrev category ACFS AlgebraicallyClosedFunctionSpace
++ Author: Manuel Bronstein
++ Date Created: 31 October 1988
++ Date Last Updated: 7 October 1991
++ Description:
++ Model for algebraically closed function spaces.
++ Keywords: algebraic, closure, field.
AlgebraicallyClosedFunctionSpace(R : Join(Comparable, IntegralDomain)):
Category == Join(AlgebraicallyClosedField, FunctionSpace R) with
rootOf : % -> %
++ rootOf(p) returns y such that \spad{p(y) = 0}.
++ Error: if p has more than one variable y.
rootsOf : % -> List %
++ rootsOf(p, y) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0};
++ Note: the returned values y1, ..., yn contain new symbols which
++ are bound in the interpreter to the respective values.
++ Error: if p has more than one variable y.
rootOf : (%, Symbol) -> %
++ rootOf(p, y) returns y such that \spad{p(y) = 0}.
++ The object returned displays as \spad{'y}.
rootsOf : (%, Symbol) -> List %
++ rootsOf(p, y) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0};
++ The returned roots contain new symbols \spad{'%z0}, \spad{'%z1} ...;
++ Note: the new symbols are bound in the interpreter to the
++ respective values.
zeroOf : % -> %
++ zeroOf(p) returns y such that \spad{p(y) = 0}.
++ The value y is expressed in terms of radicals if possible, and otherwise
++ as an implicit algebraic quantity.
++ Error: if p has more than one variable.
zerosOf : % -> List %
++ zerosOf(p) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0}.
++ The yi's are expressed in radicals if possible.
++ Note: the returned values y1, ..., yn contain new symbols which
++ are bound in the interpreter to the respective values.
++ Error: if p has more than one variable.
zeroOf : (%, Symbol) -> %
++ zeroOf(p, y) returns y such that \spad{p(y) = 0}.
++ The value y is expressed in terms of radicals if possible, and otherwise
++ as an implicit algebraic quantity
++ which displays as \spad{'y}.
zerosOf : (%, Symbol) -> List %
++ zerosOf(p, y) returns \spad{[y1, ..., yn]} such that \spad{p(yi) = 0}.
++ The yi's are expressed in radicals if possible, and otherwise
++ as implicit algebraic quantities containing
++ new symbols which display as \spad{'%z0}, \spad{'%z1}, ...;
++ The new symbols are bound in the interpreter
++ to the respective values.
rootSum : (%, SparseUnivariatePolynomial %, Symbol) -> %
add
import from Integer
import from List(Symbol)
import from SparseUnivariatePolynomial(%)
import from Fraction(SparseUnivariatePolynomial(%))
rootOf(p : %) ==
empty?(l := variables p) => error "rootOf: constant expression"
rootOf(p, first l)
rootsOf(p : %) ==
empty?(l := variables p) => error "rootsOf: constant expression"
rootsOf(p, first l)
zeroOf(p : %) ==
empty?(l := variables p) => error "zeroOf: constant expression"
zeroOf(p, first l)
zerosOf(p : %) ==
empty?(l := variables p) => error "zerosOf: constant expression"
zerosOf(p, first l)
zeroOf(p : %, x : Symbol) ==
n := numer(f := univariate(p, kernel(x)$Kernel(%)))
degree denom f > 0 => error "zeroOf: variable appears in denom"
degree n = 0 => error "zeroOf: constant expression"
zeroOf(n, x)
rootOf(p : %, x : Symbol) ==
n := numer(f := univariate(p, kernel(x)$Kernel(%)))
degree denom f > 0 => error "roofOf: variable appears in denom"
degree n = 0 => error "rootOf: constant expression"
rootOf(n, x)
zerosOf(p : %, x : Symbol) ==
n := numer(f := univariate(p, kernel(x)$Kernel(%)))
degree denom f > 0 => error "zerosOf: variable appears in denom"
degree n = 0 => empty()
zerosOf(n, x)
rootsOf(p : %, x : Symbol) ==
n := numer(f := univariate(p, kernel(x)$Kernel(%)))
degree denom f > 0 => error "roofsOf: variable appears in denom"
degree n = 0 => empty()
rootsOf(n, x)
rootsOf(p : SparseUnivariatePolynomial %, y : Symbol) ==
(r := retractIfCan(p)@Union(%,"failed")) case % => rootsOf(r::%,y)
rootsOf(p, y)$AlgebraicallyClosedField_&(%)
zerosOf(p : SparseUnivariatePolynomial %, y : Symbol) ==
(r := retractIfCan(p)@Union(%,"failed")) case % => zerosOf(r::%,y)
zerosOf(p, y)$AlgebraicallyClosedField_&(%)
zeroOf(p : SparseUnivariatePolynomial %, y : Symbol) ==
(r := retractIfCan(p)@Union(%,"failed")) case % => zeroOf(r::%, y)
zeroOf(p, y)$AlgebraicallyClosedField_&(%)
)abbrev package AF AlgebraicFunction
++ Author: Manuel Bronstein
++ Date Created: 21 March 1988
++ Date Last Updated: 11 November 1993
++ Description:
++ This package provides algebraic functions over an integral domain.
++ Keywords: algebraic, function.
AlgebraicFunction(R, F) : Exports == Implementation where
R : Join(Comparable, IntegralDomain)
F : FunctionSpace R
SE ==> Symbol
Z ==> Integer
Q ==> Fraction Z
OP ==> BasicOperator
K ==> Kernel F
P ==> SparseMultivariatePolynomial(R, K)
UP ==> SparseUnivariatePolynomial F
UPR ==> SparseUnivariatePolynomial R
SPECIALDISP ==> '%specialDisp
SPECIALDIFF ==> '%specialDiff
SPECIALEQUAL ==> '%specialEqual
Exports ==> with
rootOf : (UP, SE) -> F
++ rootOf(p, y) returns y such that \spad{p(y) = 0}.
++ The object returned displays as \spad{'y}.
rootSum : (F, UP, SE) -> F
++ rootSum(expr, p, s)
operator : OP -> OP
++ operator(op) returns a copy of \spad{op} with the domain-dependent
++ properties appropriate for \spad{F}.
++ Error: if op is not an algebraic operator, that is,
++ an nth root or implicit algebraic operator.
belong? : OP -> Boolean
++ belong?(op) is true if \spad{op} is an algebraic operator, that is,
++ an nth root or implicit algebraic operator.
inrootof : (UP, F) -> F
++ inrootof(p, x) should be a non-exported function.
-- un-export when the compiler accepts conditional local functions!
droot : List F -> OutputForm
++ droot(l) should be a non-exported function.
-- un-export when the compiler accepts conditional local functions!
if R has RetractableTo Integer then
"^" : (F, Q) -> F
++ x ^ q is \spad{x} raised to the rational power \spad{q}.
minPoly : K -> UP
++ minPoly(k) returns the defining polynomial of \spad{k}.
definingPolynomial : F -> F
++ definingPolynomial(f) returns the defining polynomial of \spad{f}
++ as an element of \spad{F}.
++ Error: if f is not a kernel.
iroot : (R, Z) -> F
++ iroot(p, n) should be a non-exported function.
-- un-export when the compiler accepts conditional local functions!
Implementation ==> add
ALGOP := '%alg
ialg : List F -> F
dvalg : (List F, SE) -> F
dalg : List F -> OutputForm
opalg := operator('rootOf)$CommonOperators
oproot := operator('nthRoot)$CommonOperators
oprootsum := operator('%root_sum)$CommonOperators
belong? op == has?(op, ALGOP) or is?(op, '%root_sum)
dalg l == second(l)::OutputForm
rootOf(p, x) ==
k := kernel(x)$K
(r := retractIfCan(p)@Union(F, "failed")) case "failed" =>
inrootof(p, k::F)
n := numer(f := univariate(r::F, k))
degree denom f > 0 => error "roofOf: variable appears in denom"
inrootof(n, k::F)
dvalg(l, x) ==
p := numer univariate(first l, retract(second l)@K)
alpha := kernel(opalg, l)
- (map((s : F) : F +-> differentiate(s, x), p) alpha) _
/ ((differentiate p) alpha)
ialg l ==
f := univariate(p := first l, retract(x := second l)@K)
degree denom f > 0 => error "roofOf: variable appears in denom"
inrootof(numer f, x)
operator op ==
is?(op, 'rootOf) => opalg
is?(op, 'nthRoot) => oproot
is?(op, '%root_sum) => oprootsum
error "Unknown operator"
if R has AlgebraicallyClosedField then
UP2R : UP -> Union(UPR, "failed")
inrootof(q, x) ==
monomial? q => 0
(d := degree q) <= 0 => error "rootOf: constant polynomial"
-- one? d=> - leadingCoefficient(reductum q) / leadingCoefficient q
(d = 1) => - leadingCoefficient(reductum q) / leadingCoefficient q
((rx := retractIfCan(x)@Union(SE, "failed")) case SE) and
((r := UP2R q) case UPR) => rootOf(r::UPR, rx::SE)::F
kernel(opalg, [q x, x])
UP2R p ==
ans : UPR := 0
while p ~= 0 repeat
(r := retractIfCan(leadingCoefficient p)@Union(R, "failed"))
case "failed" => return "failed"
ans := ans + monomial(r::R, degree p)
p := reductum p
ans
else
inrootof(q, x) ==
monomial? q => 0
(d := degree q) <= 0 => error "rootOf: constant polynomial"
-- one? d => - leadingCoefficient(reductum q) /leadingCoefficient q
(d = 1) => - leadingCoefficient(reductum q) /leadingCoefficient q
kernel(opalg, [q x, x])
eqopalg(k1 : K, k2 : K) : Boolean ==
al1 := argument(k1)
al2 := argument(k2)
dv1 := retract(al1.2)@K
dv2 := retract(al2.2)@K
pe1 := al1.1
pe2 := al2.1
dv1 = dv2 => pe1 = pe2
p1 := univariate(numer(pe1), dv1)
p2 := univariate(numer(pe2), dv2)
lc1 := leadingCoefficient(p1)
lc2 := leadingCoefficient(p2)
lc1 = lc2 => p1 = p2
lc2*p1 = lc1*p2
evaluate(opalg, ialg)$BasicOperatorFunctions1(F)
setProperty(opalg, SPECIALDIFF,
dvalg@((List F, SE) -> F) pretend None)
setProperty(opalg, SPECIALDISP,
dalg@(List F -> OutputForm) pretend None)
setProperty(opalg, SPECIALEQUAL, eqopalg@((K, K) -> Boolean) pretend None)
POLYCATQ ==> PolynomialCategoryQuotientFunctions(IndexedExponents(K),
K, R, P, F)
root_sum1(expr : F, p : UP, x : F) : F ==
expr = 0 => 0
nexpr := univariate(expr, (k := retract(x)@K), p)$POLYCATQ
xs := retract(x)@SE
every?((c : F) : Boolean +-> D(c, xs) = 0, coefficients(nexpr)) =>
res : F := 0
for i in 0..(degree(p) - 1) repeat
nexpr := nexpr rem p
res := res + coefficient(nexpr, i)
nexpr := monomial(1, 1)$UP*nexpr
res
kernel(oprootsum, [nexpr(x), x, p(x)])
rootSum(expr : F, p : UP, s : SE) : F ==
k := kernel(s)$K
root_sum1(expr, p, k::F)
irootsum(l : List F) : F ==
p := univariate(p := l.3, retract(x := l.2)@K)
degree denom p > 0 => error "roofSum: variable appears in denom of p"
root_sum1(l.1, numer(p), x)
drootsum(l : List F) : OutputForm ==
dv := retract(l.2)@K
p := univariate(numer(l.3), dv)
sum((l.1)::OutputForm,
outputForm(p, dv::OutputForm) = (0$Z)::OutputForm)
dvrootsum(l : List F, x : SE) : F ==
print("dvrootsum"::OutputForm)
print(l::OutputForm)
dv := retract(alpha := l.2)@K
dvs := retract(alpha)@SE
p : UP := numer(univariate(l.3, dv))
print(p::OutputForm)
dalpha := - (map((s : F) : F +-> differentiate(s, x), p) alpha)
/ ((differentiate p) alpha)
expr := l.1
nexpr := dalpha*differentiate(expr, dvs) +
differentiate(expr, x)
print(nexpr::OutputForm)
nexpr = 0 => 0
root_sum1(nexpr, p, alpha)
evaluate(oprootsum, irootsum)$BasicOperatorFunctions1(F)
setProperty(oprootsum, SPECIALDIFF,
dvrootsum@((List F, SE) -> F) pretend None)
setProperty(oprootsum, SPECIALDISP,
drootsum@(List F -> OutputForm) pretend None)
if R has RetractableTo Integer then
import from PolynomialRoots(IndexedExponents K, K, R, P, F)
dumvar := '%%var::F
lzero : List F -> F
dvroot : List F -> F
inroot : List F -> F
hackroot : (F, Z) -> F
inroot0 : (F, Z, Boolean, Boolean) -> F
lzero l == 0
droot l ==
x := first(l)::OutputForm
(n := retract(second l)@Z) = 2 => root x
root(x, n::OutputForm)
dvroot l ==
n := retract(second l)@Z
(first(l) ^ ((1 - n) / n)) / (n::F)
x ^ q ==
qr := divide(numer q, denom q)
x ^ qr.quotient * inroot([x, (denom q)::F]) ^ qr.remainder
hackroot(x, n) ==
(n = 1) or (x = 1) => x
(((dx := denom x) ~= 1) and
((rx := retractIfCan(dx)@Union(Integer,"failed")) case Integer) and
positive?(rx)) =>
hackroot((numer x)::F, n)/hackroot(rx::Integer::F, n)
(x = -1) and n = 4 =>
((-1::F) ^ (1::Q / 2::Q) + 1) / ((2::F) ^ (1::Q / 2::Q))
kernel(oproot, [x, n::F])
inroot l ==
zero?(n := retract(second l)@Z) => error "root: exponent = 0"
-- one?(x := first l) or one? n => x
((x := first l) = 1) or (n = 1) => x
(r := retractIfCan(x)@Union(R,"failed")) case R => iroot(r::R,n)
(u := isExpt(x)) case Record(var : K, exponent : Z) =>
pr := u::Record(var : K, exponent : Z)
is?(pr.var, oproot) and #argument(pr.var) = 2 =>
(first argument(pr.var)) ^
(pr.exponent /$Fraction(Z)
(n * retract(second argument(pr.var))@Z))
inroot0(x, n, false, false)
inroot0(x, n, false, false)
-- removes powers of positive integers from numer and denom
-- num? or den? is true if numer or denom already processed
inroot0(x, n, num?, den?) ==
rn:Union(Z, "failed") := (num? => "failed"; retractIfCan numer x)
rd:Union(Z, "failed") := (den? => "failed"; retractIfCan denom x)
(rn case Z) and (rd case Z) =>
rec := qroot(rn::Z / rd::Z, n::NonNegativeInteger)
rec.coef * hackroot(rec.radicand, rec.exponent)
rn case Z =>
rec := qroot(rn::Z::Fraction(Z), n::NonNegativeInteger)
rec.coef * inroot0((rec.radicand^(n exquo rec.exponent)::Z)
/ (denom(x)::F), n, true, den?)
rd case Z =>
rec := qroot(rd::Z::Fraction(Z), n::NonNegativeInteger)
inroot0((numer(x)::F) /
(rec.radicand ^ (n exquo rec.exponent)::Z),
n, num?, true) / rec.coef
hackroot(x, n)
if R has AlgebraicallyClosedField then iroot(r, n) == nthRoot(r, n)::F
else
iroot0 : (R, Z) -> F
if R has RadicalCategory then
if R has imaginary : () -> R then iroot(r, n) == nthRoot(r, n)::F
else
iroot(r, n) ==
odd? n or not(smaller?(r, 0)) => nthRoot(r, n)::F
iroot0(r, n)
else iroot(r, n) == iroot0(r, n)
iroot0(r, n) ==
rec := rroot(r, n::NonNegativeInteger)
rec.coef * hackroot(rec.radicand, rec.exponent)
definingPolynomial x ==
(r := retractIfCan(x)@Union(K, "failed")) case K =>
is?(k := r::K, opalg) => first argument k
is?(k, oproot) =>
dumvar ^ retract(second argument k)@Z - first argument k
dumvar - x
dumvar - x
minPoly k ==
is?(k, opalg) =>
numer univariate(first argument k,
retract(second argument k)@K)
is?(k, oproot) =>
monomial(1, retract(second argument k)@Z :: NonNegativeInteger)
- first(argument k)::UP
monomial(1, 1) - k::F::UP
evaluate(oproot, inroot)$BasicOperatorFunctions1(F)
derivative(oproot, [dvroot, lzero])
else -- R is not retractable to Integer
droot l ==
x := first(l)::OutputForm
(n := second l) = 2::F => root x
root(x, n::OutputForm)
minPoly k ==
is?(k, opalg) =>
numer univariate(first argument k,
retract(second argument k)@K)
monomial(1, 1) - k::F::UP
setProperty(oproot, SPECIALDISP,
droot@(List F -> OutputForm) pretend None)
--Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
--All rights reserved.
--
--Redistribution and use in source and binary forms, with or without
--modification, are permitted provided that the following conditions are
--met:
--
-- - Redistributions of source code must retain the above copyright
-- notice, this list of conditions and the following disclaimer.
--
-- - Redistributions in binary form must reproduce the above copyright
-- notice, this list of conditions and the following disclaimer in
-- the documentation and/or other materials provided with the
-- distribution.
--
-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-- names of its contributors may be used to endorse or promote products
-- derived from this software without specific prior written permission.
--
--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
--IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
--TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
--PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
--OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
--EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
--PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
--PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-- SPAD files for the functional world should be compiled in the
-- following order:
--
-- op kl fspace ALGFUNC expr
spad
Compiling FriCAS source code from file
/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/1569004914938216007-25px001.spad
using old system compiler.
ACF abbreviates category AlgebraicallyClosedField
------------------------------------------------------------------------
initializing NRLIB ACF for AlgebraicallyClosedField
compiling into NRLIB ACF
;;; *** |AlgebraicallyClosedField| REDEFINED
Time: 0 SEC.
ACF- abbreviates domain AlgebraicallyClosedField&
------------------------------------------------------------------------
initializing NRLIB ACF- for AlgebraicallyClosedField&
compiling into NRLIB ACF-
processing macro definition SUP ==> SparseUnivariatePolynomial S
importing List Symbol
compiling exported zeroOf : SparseUnivariatePolynomial S -> S
Time: 0.06 SEC.
compiling exported rootOf : SparseUnivariatePolynomial S -> S
Time: 0 SEC.
compiling exported zerosOf : SparseUnivariatePolynomial S -> List S
Time: 0 SEC.
compiling exported rootsOf : SparseUnivariatePolynomial S -> List S
Time: 0 SEC.
compiling exported rootsOf : (SparseUnivariatePolynomial S,Symbol) -> List S
Time: 0.01 SEC.
compiling exported zerosOf : (SparseUnivariatePolynomial S,Symbol) -> List S
Time: 0 SEC.
compiling local assign : (Symbol,S) -> S
Time: 0 SEC.
compiling exported zeroOf : Polynomial S -> S
Time: 0 SEC.
compiling exported rootOf : Polynomial S -> S
Time: 0.01 SEC.
compiling exported zerosOf : Polynomial S -> List S
Time: 0 SEC.
compiling exported rootsOf : Polynomial S -> List S
Time: 0 SEC.
compiling exported zeroOf : (SparseUnivariatePolynomial S,Symbol) -> S
Time: 0.01 SEC.
compiling local binomialRoots : (SparseUnivariatePolynomial S,Symbol,(SparseUnivariatePolynomial S,Symbol) -> S) -> List S
Time: 0.03 SEC.
importing PolynomialDecomposition(SparseUnivariatePolynomial S,S)
compiling local allroots : (SparseUnivariatePolynomial S,Symbol,(SparseUnivariatePolynomial S,Symbol) -> S) -> List S
Time: 0.03 SEC.
(time taken in buildFunctor: 0)
;;; *** |AlgebraicallyClosedField&| REDEFINED
Time: 0 SEC.
Warnings:
[1] zeroOf: not known that (Ring) is of mode (CATEGORY domain (SIGNATURE zerosOf ((List S) (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE zerosOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE zerosOf ((List S) (Polynomial S))) (SIGNATURE zeroOf (S (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE zeroOf (S (SparseUnivariatePolynomial S))) (SIGNATURE zeroOf (S (Polynomial S))) (SIGNATURE rootsOf ((List S) (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE rootsOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE rootsOf ((List S) (Polynomial S))) (SIGNATURE rootOf (S (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE rootOf (S (SparseUnivariatePolynomial S))) (SIGNATURE rootOf (S (Polynomial S))))
Cumulative Statistics for Constructor AlgebraicallyClosedField&
Time: 0.15 seconds
finalizing NRLIB ACF-
Processing AlgebraicallyClosedField& for Browser database:
--------constructor---------
--------(rootOf (% (Polynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(rootsOf ((List %) (Polynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zeroOf (% (Polynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zerosOf ((List %) (Polynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
; compiling file "/var/aw/var/LatexWiki/ACF-.NRLIB/ACF-.lsp" (written 27 FEB 2015 01:09:26 PM):
; /var/aw/var/LatexWiki/ACF-.NRLIB/ACF-.fasl written
; compilation finished in 0:00:00.119
------------------------------------------------------------------------
AlgebraicallyClosedField& is now explicitly exposed in frame initial
AlgebraicallyClosedField& will be automatically loaded when needed
from /var/aw/var/LatexWiki/ACF-.NRLIB/ACF-
finalizing NRLIB ACF
Processing AlgebraicallyClosedField for Browser database:
--------constructor---------
--------(rootOf (% (Polynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(rootsOf ((List %) (Polynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zeroOf (% (Polynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zerosOf ((List %) (Polynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
; compiling file "/var/aw/var/LatexWiki/ACF.NRLIB/ACF.lsp" (written 27 FEB 2015 01:09:26 PM):
; /var/aw/var/LatexWiki/ACF.NRLIB/ACF.fasl written
; compilation finished in 0:00:00.004
------------------------------------------------------------------------
AlgebraicallyClosedField is now explicitly exposed in frame initial
AlgebraicallyClosedField will be automatically loaded when needed
from /var/aw/var/LatexWiki/ACF.NRLIB/ACF
ACFS abbreviates category AlgebraicallyClosedFunctionSpace
------------------------------------------------------------------------
initializing NRLIB ACFS for AlgebraicallyClosedFunctionSpace
compiling into NRLIB ACFS
;;; *** |AlgebraicallyClosedFunctionSpace| REDEFINED
Time: 0 SEC.
ACFS- abbreviates domain AlgebraicallyClosedFunctionSpace&
------------------------------------------------------------------------
initializing NRLIB ACFS- for AlgebraicallyClosedFunctionSpace&
compiling into NRLIB ACFS-
****** Domain: R already in scope
importing Integer
importing List Symbol
importing SparseUnivariatePolynomial S
importing Fraction SparseUnivariatePolynomial S
compiling exported rootOf : S -> S
Time: 0.02 SEC.
compiling exported rootsOf : S -> List S
Time: 0.01 SEC.
compiling exported zeroOf : S -> S
Time: 0 SEC.
compiling exported zerosOf : S -> List S
Time: 0 SEC.
compiling exported zeroOf : (S,Symbol) -> S
Time: 0.02 SEC.
compiling exported rootOf : (S,Symbol) -> S
Time: 0 SEC.
compiling exported zerosOf : (S,Symbol) -> List S
Time: 0.01 SEC.
compiling exported rootsOf : (S,Symbol) -> List S
Time: 0 SEC.
compiling exported rootsOf : (SparseUnivariatePolynomial S,Symbol) -> List S
Time: 0 SEC.
compiling exported zerosOf : (SparseUnivariatePolynomial S,Symbol) -> List S
Time: 0.01 SEC.
compiling exported zeroOf : (SparseUnivariatePolynomial S,Symbol) -> S
Time: 0 SEC.
(time taken in buildFunctor: 0)
;;; *** |AlgebraicallyClosedFunctionSpace&| REDEFINED
Time: 0 SEC.
Warnings:
[1] not known that (Ring) is of mode (CATEGORY domain (SIGNATURE zerosOf ((List S) S (Symbol))) (SIGNATURE zeroOf (S S (Symbol))) (SIGNATURE zerosOf ((List S) S)) (SIGNATURE zeroOf (S S)) (SIGNATURE rootsOf ((List S) S (Symbol))) (SIGNATURE rootOf (S S (Symbol))) (SIGNATURE rootsOf ((List S) S)) (SIGNATURE rootOf (S S)) (SIGNATURE zerosOf ((List S) (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE zerosOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE zerosOf ((List S) (Polynomial S))) (SIGNATURE zeroOf (S (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE zeroOf (S (SparseUnivariatePolynomial S))) (SIGNATURE zeroOf (S (Polynomial S))) (SIGNATURE rootsOf ((List S) (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE rootsOf ((List S) (SparseUnivariatePolynomial S))) (SIGNATURE rootsOf ((List S) (Polynomial S))) (SIGNATURE rootOf (S (SparseUnivariatePolynomial S) (Symbol))) (SIGNATURE rootOf (S (SparseUnivariatePolynomial S))) (SIGNATURE rootOf (S (Polynomial S))))
Cumulative Statistics for Constructor AlgebraicallyClosedFunctionSpace&
Time: 0.07 seconds
finalizing NRLIB ACFS-
Processing AlgebraicallyClosedFunctionSpace& for Browser database:
--------constructor---------
--------(rootOf (% (Polynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(rootsOf ((List %) (Polynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zeroOf (% (Polynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zerosOf ((List %) (Polynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------constructor---------
--------(rootOf (% %))---------
--------(rootsOf ((List %) %))---------
--------(rootOf (% % (Symbol)))---------
--------(rootsOf ((List %) % (Symbol)))---------
--------(zeroOf (% %))---------
--------(zerosOf ((List %) %))---------
--------(zeroOf (% % (Symbol)))---------
--------(zerosOf ((List %) % (Symbol)))---------
--->/usr/local/lib/fricas/target/x86_64-unknown-linux/../../src/algebra/ACFS.spad-->AlgebraicallyClosedFunctionSpace&((rootSum (% % (SparseUnivariatePolynomial %) (Symbol)))): Not documented!!!!
--->/usr/local/lib/fricas/target/x86_64-unknown-linux/../../src/algebra/ACFS.spad-->AlgebraicallyClosedFunctionSpace&(): Spurious comments: Model for algebraically closed function spaces.
; compiling file "/var/aw/var/LatexWiki/ACFS-.NRLIB/ACFS-.lsp" (written 27 FEB 2015 01:09:26 PM):
; /var/aw/var/LatexWiki/ACFS-.NRLIB/ACFS-.fasl written
; compilation finished in 0:00:00.041
------------------------------------------------------------------------
AlgebraicallyClosedFunctionSpace& is now explicitly exposed in frame
initial
AlgebraicallyClosedFunctionSpace& will be automatically loaded when
needed from /var/aw/var/LatexWiki/ACFS-.NRLIB/ACFS-
finalizing NRLIB ACFS
Processing AlgebraicallyClosedFunctionSpace for Browser database:
--------constructor---------
--------(rootOf (% (Polynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(rootsOf ((List %) (Polynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zeroOf (% (Polynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zerosOf ((List %) (Polynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------constructor---------
--------(rootOf (% %))---------
--------(rootsOf ((List %) %))---------
--------(rootOf (% % (Symbol)))---------
--------(rootsOf ((List %) % (Symbol)))---------
--------(zeroOf (% %))---------
--------(zerosOf ((List %) %))---------
--------(zeroOf (% % (Symbol)))---------
--------(zerosOf ((List %) % (Symbol)))---------
--->/usr/local/lib/fricas/target/x86_64-unknown-linux/../../src/algebra/ACFS.spad-->AlgebraicallyClosedFunctionSpace((rootSum (% % (SparseUnivariatePolynomial %) (Symbol)))): Not documented!!!!
--->/usr/local/lib/fricas/target/x86_64-unknown-linux/../../src/algebra/ACFS.spad-->AlgebraicallyClosedFunctionSpace(): Spurious comments: Model for algebraically closed function spaces.
; compiling file "/var/aw/var/LatexWiki/ACFS.NRLIB/ACFS.lsp" (written 27 FEB 2015 01:09:26 PM):
; /var/aw/var/LatexWiki/ACFS.NRLIB/ACFS.fasl written
; compilation finished in 0:00:00.003
------------------------------------------------------------------------
AlgebraicallyClosedFunctionSpace is now explicitly exposed in frame
initial
AlgebraicallyClosedFunctionSpace will be automatically loaded when
needed from /var/aw/var/LatexWiki/ACFS.NRLIB/ACFS
AF abbreviates package AlgebraicFunction
------------------------------------------------------------------------
initializing NRLIB AF for AlgebraicFunction
compiling into NRLIB AF
****** Domain: R already in scope
compiling exported belong? : BasicOperator -> Boolean
Time: 0 SEC.
compiling local dalg : List F -> OutputForm
Time: 0.01 SEC.
compiling exported rootOf : (SparseUnivariatePolynomial F,Symbol) -> F
Time: 0.01 SEC.
compiling local dvalg : (List F,Symbol) -> F
Time: 0.02 SEC.
compiling local ialg : List F -> F
Time: 0 SEC.
compiling exported operator : BasicOperator -> BasicOperator
Time: 0.01 SEC.
****** Domain: R already in scope
augmenting R: (AlgebraicallyClosedField)
compiling exported inrootof : (SparseUnivariatePolynomial F,F) -> F
Time: 0.01 SEC.
compiling local UP2R : SparseUnivariatePolynomial F -> Union(SparseUnivariatePolynomial R,failed)
Time: 0.01 SEC.
compiling exported inrootof : (SparseUnivariatePolynomial F,F) -> F
Time: 0 SEC.
compiling local eqopalg : (Kernel F,Kernel F) -> Boolean
Time: 0.03 SEC.
processing macro definition POLYCATQ ==> PolynomialCategoryQuotientFunctions(IndexedExponents Kernel F,Kernel F,R,SparseMultivariatePolynomial(R,Kernel F),F)
compiling local root_sum1 : (F,SparseUnivariatePolynomial F,F) -> F
Time: 0.03 SEC.
compiling exported rootSum : (F,SparseUnivariatePolynomial F,Symbol) -> F
Time: 0.01 SEC.
compiling local irootsum : List F -> F
Local variable p type redefined: (Fraction (SparseUnivariatePolynomial F)) to (F)
Time: 0 SEC.
compiling local drootsum : List F -> OutputForm
Time: 0.02 SEC.
compiling local dvrootsum : (List F,Symbol) -> F
Time: 0.08 SEC.
****** Domain: R already in scope
augmenting R: (RetractableTo (Integer))
augmenting $: (SIGNATURE $ ^ (F F (Fraction (Integer))))
augmenting $: (SIGNATURE $ minPoly ((SparseUnivariatePolynomial F) (Kernel F)))
augmenting $: (SIGNATURE $ definingPolynomial (F F))
augmenting $: (SIGNATURE $ iroot (F R (Integer)))
importing PolynomialRoots(IndexedExponents Kernel F,Kernel F,R,SparseMultivariatePolynomial(R,Kernel F),F)
compiling local lzero : List F -> F
Time: 0 SEC.
compiling exported droot : List F -> OutputForm
Time: 0.01 SEC.
compiling local dvroot : List F -> F
Time: 0.02 SEC.
compiling exported ^ : (F,Fraction Integer) -> F
Time: 0.04 SEC.
compiling local hackroot : (F,Integer) -> F
Time: 0.03 SEC.
compiling local inroot : List F -> F
Time: 0.01 SEC.
compiling local inroot0 : (F,Integer,Boolean,Boolean) -> F
Time: 0.07 SEC.
****** Domain: R already in scope
augmenting R: (AlgebraicallyClosedField)
compiling exported iroot : (R,Integer) -> F
Time: 0 SEC.
****** Domain: R already in scope
augmenting R: (RadicalCategory)
augmenting R: (SIGNATURE R imaginary (R))
compiling exported iroot : (R,Integer) -> F
Time: 0 SEC.
compiling exported iroot : (R,Integer) -> F
Time: 0 SEC.
compiling exported iroot : (R,Integer) -> F
Time: 0 SEC.
compiling local iroot0 : (R,Integer) -> F
Time: 0.01 SEC.
compiling exported definingPolynomial : F -> F
Time: 0.01 SEC.
compiling exported minPoly : Kernel F -> SparseUnivariatePolynomial F
Time: 0 SEC.
compiling exported droot : List F -> OutputForm
Time: 0.01 SEC.
compiling exported minPoly : Kernel F -> SparseUnivariatePolynomial F
Time: 0.01 SEC.
****** Domain: R already in scope
augmenting R: (RetractableTo (Integer))
augmenting $: (SIGNATURE $ ^ (F F (Fraction (Integer))))
augmenting $: (SIGNATURE $ minPoly ((SparseUnivariatePolynomial F) (Kernel F)))
augmenting $: (SIGNATURE $ definingPolynomial (F F))
augmenting $: (SIGNATURE $ iroot (F R (Integer)))
(time taken in buildFunctor: 0)
;;; *** |AlgebraicFunction| REDEFINED
;;; *** |AlgebraicFunction| REDEFINED
Time: 0 SEC.
Warnings:
[1] rootOf: not known that (Comparable) is of mode (CATEGORY package (SIGNATURE rootOf (F (SparseUnivariatePolynomial F) (Symbol))) (SIGNATURE rootSum (F F (SparseUnivariatePolynomial F) (Symbol))) (SIGNATURE operator ((BasicOperator) (BasicOperator))) (SIGNATURE belong? ((Boolean) (BasicOperator))) (SIGNATURE inrootof (F (SparseUnivariatePolynomial F) F)) (SIGNATURE droot ((OutputForm) (List F))) (IF (has R (RetractableTo (Integer))) (PROGN (SIGNATURE ^ (F F (Fraction (Integer)))) (SIGNATURE minPoly ((SparseUnivariatePolynomial F) (Kernel F))) (SIGNATURE definingPolynomial (F F)) (SIGNATURE iroot (F R (Integer)))) noBranch))
[2] ^: quotient has no value
[3] ^: remainder has no value
[4] inroot: var has no value
[5] inroot: exponent has no value
[6] inroot0: coef has no value
[7] inroot0: radicand has no value
[8] inroot0: exponent has no value
[9] inroot0: rd has no value
[10] iroot0: coef has no value
[11] iroot0: radicand has no value
[12] iroot0: exponent has no value
Cumulative Statistics for Constructor AlgebraicFunction
Time: 0.46 seconds
finalizing NRLIB AF
Processing AlgebraicFunction for Browser database:
--------constructor---------
--------(rootOf (% (Polynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %)))---------
--------(rootOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(rootsOf ((List %) (Polynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(rootsOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zeroOf (% (Polynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %)))---------
--------(zeroOf (% (SparseUnivariatePolynomial %) (Symbol)))---------
--------(zerosOf ((List %) (Polynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %)))---------
--------(zerosOf ((List %) (SparseUnivariatePolynomial %) (Symbol)))---------
--------constructor---------
--------(rootOf (% %))---------
--------(rootsOf ((List %) %))---------
--------(rootOf (% % (Symbol)))---------
--------(rootsOf ((List %) % (Symbol)))---------
--------(zeroOf (% %))---------
--------(zerosOf ((List %) %))---------
--------(zeroOf (% % (Symbol)))---------
--------(zerosOf ((List %) % (Symbol)))---------
--->/usr/local/lib/fricas/target/x86_64-unknown-linux/../../src/algebra/AF.spad-->AlgebraicFunction((rootSum (% % (SparseUnivariatePolynomial %) (Symbol)))): Not documented!!!!
--------constructor---------
--------(rootOf (F (SparseUnivariatePolynomial F) (Symbol)))---------
--------(rootSum (F F (SparseUnivariatePolynomial F) (Symbol)))---------
--------(operator ((BasicOperator) (BasicOperator)))---------
--------(belong? ((Boolean) (BasicOperator)))---------
--------(inrootof (F (SparseUnivariatePolynomial F) F))---------
--------(droot ((OutputForm) (List F)))---------
--------(^ (F F (Fraction (Integer))))---------
--------(minPoly ((SparseUnivariatePolynomial F) (Kernel F)))---------
--------(definingPolynomial (F F))---------
--------(iroot (F R (Integer)))---------
--->/usr/local/lib/fricas/target/x86_64-unknown-linux/../../src/algebra/AF.spad-->AlgebraicFunction(): Spurious comments: Model for algebraically closed function spaces.
--->/usr/local/lib/fricas/target/x86_64-unknown-linux/../../src/algebra/AF.spad-->AlgebraicFunction(): Spurious comments: This package provides algebraic functions over an integral domain.
; compiling file "/var/aw/var/LatexWiki/AF.NRLIB/AF.lsp" (written 27 FEB 2015 01:09:27 PM):
; /var/aw/var/LatexWiki/AF.NRLIB/AF.fasl written
; compilation finished in 0:00:00.272
------------------------------------------------------------------------
AlgebraicFunction is now explicitly exposed in frame initial
AlgebraicFunction will be automatically loaded when needed from
/var/aw/var/LatexWiki/AF.NRLIB/AF