/usr/share/axiom-20170501/src/algebra/PAN2EXPR.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 | )abbrev package PAN2EXPR PolynomialAN2Expression
++ Author: Barry Trager
++ Date Created: 8 Oct 1991
++ Description:
++ This package provides a coerce from polynomials over
++ algebraic numbers to \spadtype{Expression AlgebraicNumber}.
PolynomialAN2Expression() : SIG == CODE where
EXPR ==> Expression(Integer)
AN ==> AlgebraicNumber
PAN ==> Polynomial AN
SY ==> Symbol
SIG ==> with
coerce : Polynomial AlgebraicNumber -> Expression(Integer)
++ coerce(p) converts the polynomial \spad{p} with algebraic number
++ coefficients to \spadtype{Expression Integer}.
coerce : Fraction Polynomial AlgebraicNumber -> Expression(Integer)
++ coerce(rf) converts \spad{rf}, a fraction of polynomial
++ \spad{p} with
++ algebraic number coefficients to \spadtype{Expression Integer}.
CODE ==> add
coerce(p:PAN):EXPR ==
map(x+->x::EXPR, y+->y::EXPR, p)$PolynomialCategoryLifting(
IndexedExponents SY, SY, AN, PAN, EXPR)
coerce(rf:Fraction PAN):EXPR ==
numer(rf)::EXPR / denom(rf)::EXPR
|