axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] what is meaining of % in SPAD


From: William Sit
Subject: Re: [Axiom-developer] what is meaining of % in SPAD
Date: Wed, 20 Jul 2005 19:23:11 -0400


"Page, Bill" wrote:
> 
> Dear Axiom Mavins:
> 
> If I read for example in expr.spad.pamphlet:
> 
> )abbrev domain EXPR Expression
> ++ Top-level mathematical expressions
> ++ Author: Manuel Bronstein
> ++ Date Created: 19 July 1988
> ++ Date Last Updated: October 1993 (P.Gianni), February 1995 (MB)
> ++ Description: Expressions involving symbolic functions.
> ++ Keywords: operator, kernel, function.
> Expression(R:OrderedSet): Exports == Implementation where
>   Q   ==> Fraction Integer
>   K   ==> Kernel %
>   MP  ==> SparseMultivariatePolynomial(R, K)
> ...
> Implementation
> ...
>     if R has IntegralDomain then
> ...
>       Rep := Fraction MP
> 
> ------------
> 
> What does the % represent?

% means the current domain in which this occurs (for categories, it refers to
any domain of that category). In older spad files, the symbol is $ (Chapter 12
of Axiom book). Here, it means EXPR R.

> Or more specifically, what exactly is the value of Rep above

FRAC SMP(R, Kernel EXPR R)

> if I write:
> 
> (%e<%pi)$EXPR INT
> 
> ???

The '%' in front of 'e' and 'pi' are just a special symbol applied before system
symbols. I am not too sure exactly how 'EXPR R' orders its elements, but from
'expr.spad', the ordering is inherited from 'Rep := FRAC SMP(R, Kernel EXPR R)'.
Ignoring the ordering on 'FRAC' (uniquely determined by the ordering on 'SMP'),
this means the ordering should be induced by lexicographic order using the
"variables" ordering of 'Kernel EXPR R'. Here is where things become difficult
(one of the cyclic compiler problems?). Have to dig into kl.spad.
 
> Where can I read about this notation in the Axiom documentation?
Chapter 12.


William




reply via email to

[Prev in Thread] Current Thread [Next in Thread]