[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] how use trace for a domain
From: |
Martin Rubey |
Subject: |
Re: [Axiom-developer] how use trace for a domain |
Date: |
10 Apr 2006 11:10:34 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
Dear Francois,
the command you are looking after is
)tr XXX )ops imag
where XXX is the domain/package/category your imag is implemented in. To find
out which package it is, you proceed as follows:
(1) -> )se me bo on
(1) -> imag (sin (%i))
Function Selection for complex
Arguments: (NNI,PI)
-> no appropriate complex found in NonNegativeInteger
-> no appropriate complex found in PositiveInteger
-> no appropriate complex found in Integer
-> no appropriate complex found in NonNegativeInteger
-> no appropriate complex found in PositiveInteger
-> no appropriate complex found in Integer
Modemaps from Associated Packages
no modemaps
Remaining General Modemaps
[1] (D1,D1) -> D from D if D has COMPCAT D1 and D1 has COMRING
[1] signature: (INT,INT) -> COMPLEX INT
implemented: slot $(Integer)(Integer) from COMPLEX INT
Loading /home/rubey/axiom/mnt/linux/algebra/INT.o for domain Integer
Loading /home/rubey/axiom/mnt/linux/algebra/COMPLEX.o for domain
Complex
Function Selection for sin
Arguments: COMPLEX INT
-> no appropriate sin found in Complex Integer
-> no appropriate sin found in Complex Integer
Modemaps from Associated Packages
no modemaps
Remaining General Modemaps
[1] D -> D from D if D has TRIGCAT
[2] FortranExpression(D1,D2,D3) -> FortranExpression(D1,D2,D3)
from FortranExpression(D1,D2,D3)
if D1: LIST SYMBOL and D2: LIST SYMBOL and D3 has FMTC
[1] signature: EXPR COMPLEX INT -> EXPR COMPLEX INT
implemented: slot $$ from EXPR COMPLEX INT
Function Selection for imag
Arguments: EXPR COMPLEX INT
-> no appropriate imag found in Expression Complex Integer
-> no appropriate imag found in Expression Complex Integer
Modemaps from Associated Packages
no modemaps
Remaining General Modemaps
[1] D1 -> D1 from TrigonometricManipulations(D2,D1)
if D2 has Join(GcdDomain,OrderedSet,RetractableTo Integer,
LinearlyExplicitRingOver Integer) and D1 has Join(
AlgebraicallyClosedField,TranscendentalFunctionCategory,
FunctionSpace D2)
[2] D2 -> Expression D3 from ComplexTrigonometricManipulations(D3,D2
)
if D3 has Join(IntegralDomain,OrderedSet,RetractableTo
Integer) and D2 has Join(AlgebraicallyClosedField,
TranscendentalFunctionCategory,FunctionSpace Complex D3)
[3] D -> D1 from D if D has COMPCAT D1 and D1 has COMRING
-> no appropriate map found in Expression Complex Integer
-> no appropriate map found in Complex Integer
-> no appropriate map found in Expression Integer
-> no appropriate map found in Integer
-> no appropriate map found in Complex Integer
-> no appropriate map found in Integer
Modemaps from Associated Packages
[1] ((D4 -> D5),Expression D4) -> Expression D5
from ExpressionFunctions2(D4,D5)
if D4 has ORDSET and D5 has ORDSET
[2] ((D4 -> D1),Kernel D4) -> D1 from ExpressionSpaceFunctions2(D4,
D1)
if D4 has ES and D1 has ES
[3] ((D4 -> D5),Complex D4) -> Complex D5 from ComplexFunctions2(D4,
D5)
if D4 has COMRING and D5 has COMRING
[1] signature: EXPR COMPLEX INT -> EXPR INT
implemented: slot (Expression (Integer))(Expression (Complex (Integer)))
from CTRIGMNP(INT,EXPR COMPLEX INT)
[2] signature: EXPR COMPLEX INT -> EXPR COMPLEX INT
implemented: slot (Expression (Complex (Integer)))(Expression (Complex
(Integer))) from TRIGMNIP(COMPLEX INT,EXPR COMPLEX INT)
2
%e - 1
(1) -------
2%e
Type: Expression Integer
Now you have to look up "imag" in the mess above. You find
Function Selection for imag
Arguments: EXPR COMPLEX INT
and at the end of axioms search you find
[1] signature: EXPR COMPLEX INT -> EXPR INT
implemented: slot (Expression (Integer))(Expression (Complex (Integer)))
from CTRIGMNP(INT,EXPR COMPLEX INT)
[2] signature: EXPR COMPLEX INT -> EXPR COMPLEX INT
implemented: slot (Expression (Complex (Integer)))(Expression (Complex
(Integer))) from TRIGMNIP(COMPLEX INT,EXPR COMPLEX INT)
Axiom takes the first matching signature, so you now know that it's
"imag" from CTRIGMNP(INT,EXPR COMPLEX INT)
If you now say
)tr CTRIGMNP )ops imag
you'll get what you wanted.
The bind stack overflow when tracing EXPR is a bug.
Martin