There is a new command
)describe [category | domain | package ] <name> [ | internal ]
You can ask for the comments from the algebra source code
which are contained in the Description: section at the top
of each Category, Domain, or Package.
You can type
)help describe for the man page
Details for writing the Description: section for new algebra code
are in Volume 2 (User Guide)
For example,
(1) -> )describe domain AlgebraGivenByStructuralConstants
AlgebraGivenByStructuralConstants implements finite rank algebras
over a commutative ring, given by the structural constants gamma with
respect to a fixed basis [a1,..,an], where gamma is an n-vector of n
by n matrices [(gammaijk) for k in 1..rank()] defined by ai * aj =
gammaij1 * a1 + ... + gammaijn * an. The symbols for the fixed basis
have to be given as a list of symbols.
You can also ask for a very detailed description of the internal
structure (only for Domains and Packages). For instance:
(1) -> )describe domain AlgebraGivenByStructuralConstants internal
----------------Template-----------------
5 lazy DirectProduct(local #2,local #1)
6 lazy local #1
7 lazy local #2
8 lazy local #3
9 lazy local #4
10 lazy QUOTE Rep
11 lazy Union($,QUOTE failed)
12 lazy FiniteRankNonAssociativeAlgebra&($$,local #1)
13 latch recip : % -> Union(%,QUOTE failed) from
FiniteRankNonAssociativeAlgebra&($$,local #1)
14 fun ALGSC;recip;$U;1
15 lazy Matrix local #1
16 lazy SquareMatrix(local #2,local #1)
17 latch coerce : % -> Matrix local #1 from SquareMatrix(local #2,local #1)
18 latch apply : (Matrix local #1,%) -> % from %
19 fun ALGSC;*;Sm2$;2
20 lazy Vector local #1
21 latch directProduct : Vector local #1 -> % from QUOTE Rep
22 fun ALGSC;coerce;V$;3
23 lazy Vector Matrix local #1
24 fun ALGSC;structuralConstants;V;4
25 lazy List local #1
26 latch entries : % -> List local #1 from QUOTE Rep
27 latch vector : List local #1 -> % from Vector local #1
28 fun ALGSC;coordinates;$V;5
29 lazy Integer
30 lazy Vector $$
31 latch maxIndex : % -> Integer from Vector $$
32 latch 0 : () -> % from local #1
33 lazy NonNegativeInteger
34 latch new : (NonNegativeInteger,NonNegativeInteger,local #1) -> %
from Matrix local #1
35 latch elt : (%,Integer) -> $$ from Vector $$
36 latch setColumn! : (%,Integer,Vector local #1) -> % from Matrix local #1
37 lazy Union(Vector local #1,QUOTE failed)
38 lazy Record(particular: Union(Vector local #1,QUOTE failed),basis:
List Vector local #1)
39 lazy LinearSystemMatrixPackage(local #1,Vector local #1,Vector local
#1,Matrix local #1)
40 latch solve : (Matrix local #1,Vector local #1) ->
Record(particular: Union(Vector local #1,QUOTE failed),basis: List
Vector local #1) from LinearSystemMatrixPackage(local #1,Vector local
#1,Vector local #1,Matrix local #1)
41 lazy Boolean
42 latch zero? : % -> Boolean from local #1
43 lazy Vector $
44 fun ALGSC;basis;V;7
45 lazy (local #1 -> Boolean)
46 latch every? : ((local #1 -> Boolean),%) -> Boolean from Vector local #1
47 fun ALGSC;coordinates;$VV;6
48 lazy PositiveInteger
49 latch unitVector : PositiveInteger -> % from QUOTE Rep
50 fun ALGSC;someBasis;V;8
51 fun ALGSC;rank;Pi;9
52 latch elt : (%,Integer) -> local #1 from QUOTE Rep
53 fun ALGSC;elt;$IR;10
54 latch zero? : % -> Boolean from QUOTE Rep
55 lazy OutputForm
56 latch coerce : % -> OutputForm from local #1
57 latch 1 : () -> % from local #1
58 latch ?=? : (%,%) -> Boolean from local #1
59 lazy Symbol
60 lazy List Symbol
61 latch elt : (%,Integer) -> Symbol from List Symbol
62 latch coerce : % -> OutputForm from Symbol
63 latch ?*? : (%,%) -> % from OutputForm
64 latch ?+? : (%,%) -> % from OutputForm
65 lazy ((OutputForm,OutputForm) -> OutputForm)
66 lazy List OutputForm
67 latch reduce : (((OutputForm,OutputForm) -> OutputForm),%) ->
OutputForm from List OutputForm
68 fun ALGSC;coerce;$Of;11
69 latch new : (NonNegativeInteger,local #1) -> % from Vector local #1
70 latch ?*? : (%,%) -> % from local #1
71 latch elt : (%,Integer) -> Matrix local #1 from Vector Matrix local #1
72 latch elt : (%,Integer,Integer) -> local #1 from Matrix local #1
73 latch ?+? : (%,%) -> % from local #1
74 latch setelt : (%,Integer,local #1) -> local #1 from Vector local #1
75 fun ALGSC;*;3$;12
76 latch ?-? : (%,%) -> % from local #1
77 lazy Void
78 lazy String
79 latch messagePrint : String -> Void from OutputForm
80 fun ALGSC;alternative?;B;13
81 fun ALGSC;associative?;B;14
82 fun ALGSC;antiAssociative?;B;15
83 fun ALGSC;commutative?;B;16
84 fun ALGSC;antiCommutative?;B;17
85 fun ALGSC;leftAlternative?;B;18
86 fun ALGSC;rightAlternative?;B;19
87 fun ALGSC;flexible?;B;20
88 fun ALGSC;lieAdmissible?;B;21
89 latch ?*? : (PositiveInteger,%) -> % from local #1
90 latch recip : % -> Union(%,QUOTE failed) from local #1
91 fun ALGSC;jordanAdmissible?;B;22
92 fun ALGSC;jordanAlgebra?;B;23
93 fun ALGSC;jacobiIdentity?;B;24
94 lazy SparseUnivariatePolynomial Polynomial local #1
95 lazy Record(particular: $,basis: List $)
96 lazy Union(Record(particular: $,basis: List $),QUOTE failed)
97 lazy SparseUnivariatePolynomial local #1
98 lazy List Vector local #1
99 lazy List Polynomial local #1
100 lazy SingleInteger
----------Complete Ops----------------
?~=? : (%,%) -> Boolean missing
zero? : % -> Boolean missing
unit : () -> Union(%,QUOTE failed) missing if #1 has IntegralDomain
subtractIfCan : (%,%) -> Union(%,QUOTE failed) missing
structuralConstants : () -> Vector Matrix local #1
ALGSC;structuralConstants;V;4
structuralConstants : Vector % -> Vector Matrix local #1 missing
someBasis : () -> Vector % ALGSC;someBasis;V;8
sample : () -> % missing
rightUnits : () -> Union(Record(particular: %,basis: List %),QUOTE
failed) missing if #1 has IntegralDomain
rightUnit : () -> Union(%,QUOTE failed) missing if #1 has IntegralDomain
rightTraceMatrix : () -> Matrix local #1 missing
rightTraceMatrix : Vector % -> Matrix local #1 missing
rightTrace : % -> local #1 missing
rightRegularRepresentation : % -> Matrix local #1 missing
rightRegularRepresentation : (%,Vector %) -> Matrix local #1 missing
rightRecip : % -> Union(%,QUOTE failed) missing if #1 has IntegralDomain
rightRankPolynomial : () -> SparseUnivariatePolynomial Polynomial local
#1 missing if #1 has Field
rightPower : (%,PositiveInteger) -> % missing
rightNorm : % -> local #1 missing
rightMinimalPolynomial : % -> SparseUnivariatePolynomial local #1
missing if #1 has IntegralDomain
rightDiscriminant : () -> local #1 missing
rightDiscriminant : Vector % -> local #1 missing
rightCharacteristicPolynomial : % -> SparseUnivariatePolynomial local
#1 missing
rightAlternative? : () -> Boolean ALGSC;rightAlternative?;B;19
represents : Vector local #1 -> % missing
represents : (Vector local #1,Vector %) -> % missing
recip : % -> Union(%,QUOTE failed) ALGSC;recip;$U;1 if #1 has
IntegralDomain
rank : () -> PositiveInteger ALGSC;rank;Pi;9
powerAssociative? : () -> Boolean missing
plenaryPower : (%,PositiveInteger) -> % missing
noncommutativeJordanAlgebra? : () -> Boolean missing
lieAlgebra? : () -> Boolean missing
lieAdmissible? : () -> Boolean ALGSC;lieAdmissible?;B;21
leftUnits : () -> Union(Record(particular: %,basis: List %),QUOTE
failed) missing if #1 has IntegralDomain
leftUnit : () -> Union(%,QUOTE failed) missing if #1 has IntegralDomain
leftTraceMatrix : () -> Matrix local #1 missing
leftTraceMatrix : Vector % -> Matrix local #1 missing
leftTrace : % -> local #1 missing
leftRegularRepresentation : % -> Matrix local #1 missing
leftRegularRepresentation : (%,Vector %) -> Matrix local #1 missing
leftRecip : % -> Union(%,QUOTE failed) missing if #1 has IntegralDomain
leftRankPolynomial : () -> SparseUnivariatePolynomial Polynomial local
#1 missing if #1 has Field
leftPower : (%,PositiveInteger) -> % missing
leftNorm : % -> local #1 missing
leftMinimalPolynomial : % -> SparseUnivariatePolynomial local #1
missing if #1 has IntegralDomain
leftDiscriminant : () -> local #1 missing
leftDiscriminant : Vector % -> local #1 missing
leftCharacteristicPolynomial : % -> SparseUnivariatePolynomial local #1
missing
leftAlternative? : () -> Boolean ALGSC;leftAlternative?;B;18
latex : % -> String missing
jordanAlgebra? : () -> Boolean ALGSC;jordanAlgebra?;B;23
jordanAdmissible? : () -> Boolean ALGSC;jordanAdmissible?;B;22
jacobiIdentity? : () -> Boolean ALGSC;jacobiIdentity?;B;24
hash : % -> SingleInteger missing
flexible? : () -> Boolean ALGSC;flexible?;B;20
elt : (%,Integer) -> local #1 ALGSC;elt;$IR;10
coordinates : % -> Vector local #1 ALGSC;coordinates;$V;5
coordinates : Vector % -> Matrix local #1 missing
coordinates : (Vector %,Vector %) -> Matrix local #1 missing
coordinates : (%,Vector %) -> Vector local #1 ALGSC;coordinates;$VV;6
convert : % -> Vector local #1 missing
convert : Vector local #1 -> % missing
conditionsForIdempotents : () -> List Polynomial local #1 missing
conditionsForIdempotents : Vector % -> List Polynomial local #1 missing
commutator : (%,%) -> % missing
commutative? : () -> Boolean ALGSC;commutative?;B;16
coerce : Vector local #1 -> % ALGSC;coerce;V$;3
coerce : % -> OutputForm ALGSC;coerce;$Of;11
basis : () -> Vector % ALGSC;basis;V;7
associatorDependence : () -> List Vector local #1 missing if #1 has
IntegralDomain
associator : (%,%,%) -> % missing
associative? : () -> Boolean ALGSC;associative?;B;14
apply : (Matrix local #1,%) -> % looked up
antiCommutator : (%,%) -> % missing
antiCommutative? : () -> Boolean ALGSC;antiCommutative?;B;17
antiAssociative? : () -> Boolean ALGSC;antiAssociative?;B;15
alternative? : () -> Boolean ALGSC;alternative?;B;13
0 : () -> % missing
?=? : (%,%) -> Boolean missing
-? : % -> % missing
?-? : (%,%) -> % missing
?+? : (%,%) -> % missing
?**? : (%,PositiveInteger) -> % missing
?*? : (SquareMatrix(local #2,local #1),%) -> % ALGSC;*;Sm2$;2
?*? : (local #1,%) -> % missing
?*? : (%,local #1) -> % missing
?*? : (%,%) -> % ALGSC;*;3$;12
?*? : (Integer,%) -> % missing
?*? : (NonNegativeInteger,%) -> % missing
?*? : (PositiveInteger,%) -> % missing
----------------Atts-----------------
0 unitsKnown if #1 has IntegralDomain
1 leftUnitary
2 rightUnitary
----------------Preds-----------------
1 #1 has Field
2 #1 has IntegralDomain
----------------Cats-----------------
0 FramedNonAssociativeAlgebra local #1 package
1 FiniteRankNonAssociativeAlgebra local #1 package
2 NonAssociativeAlgebra local #1 package
3 Module local #1 package
4 BiModule(local #1,local #1)
5 NonAssociativeRng package
6 LeftModule SquareMatrix(local #2,local #1)
7 RightModule local #1
8 LeftModule local #1
9 AbelianGroup package
10 CancellationAbelianMonoid
11 AbelianMonoid package
12 AbelianSemiGroup package
13 Monad package
14 SetCategory package
15 BasicType package
16 CoercibleTo OutputForm
----------------Data------------------
Operation data from slot 1
#(~= 197 |zero?| 203 |unit| 208 |subtractIfCan| 212
|structuralConstants| 218 |someBasis| 227 |sample| 231 |rightUnits| 235
|rightUnit| 239 |rightTraceMatrix| 243 |rightTrace| 252
|rightRegularRepresentation| 257 |rightRecip| 268 |rightRankPolynomial|
273 |rightPower| 277 |rightNorm| 283 |rightMinimalPolynomial| 288
|rightDiscriminant| 293 |rightCharacteristicPolynomial| 302
|rightAlternative?| 307 |represents| 311 |recip| 322 |rank| 327
|powerAssociative?| 331 |plenaryPower| 335
|noncommutativeJordanAlgebra?| 341 |lieAlgebra?| 345 |lieAdmissible?|
349 |leftUnits| 353 |leftUnit| 357 |leftTraceMatrix| 361 |leftTrace| 370
|leftRegularRepresentation| 375 |leftRecip| 386 |leftRankPolynomial| 391
|leftPower| 395 |leftNorm| 401 |leftMinimalPolynomial| 406
|leftDiscriminant| 411 |leftCharacteristicPolynomial| 420
|leftAlternative?| 425 |latex| 429 |jordanAlgebra?| 434
|jordanAdmissible?| 438 |jacobiIdentity?| 442 |hash| 446 |flexible?| 451
|elt| 455 |coordinates| 461 |convert| 483 |conditionsForIdempotents| 493
|commutator| 502 |commutative?| 508 |coerce| 512 |basis| 522
|associatorDependence| 526 |associator| 530 |associative?| 537 |apply|
541 |antiCommutator| 547 |antiCommutative?| 553 |antiAssociative?| 557
|alternative?| 561 |Zero| 565 = 569 - 575 + 586 ** 592 * 598)
Information vector has 640 entries
0 | 1 12 11 0 13 1 16 15 0 17
10 | 2 0 0 15 0 18 1 10 0 20
20 | 21 1 10 25 0 26 1 20 0 25
30 | 27 1 30 29 0 31 0 6 0 32
40 | 3 15 0 33 33 6 34 2 30 2
50 | 0 29 35 3 15 0 0 29 20 36
60 | 2 39 38 15 20 40 1 6 41 0
70 | 42 2 20 41 45 0 46 1 10 0
80 | 48 49 2 10 6 0 29 52 1 10
90 | 41 0 54 1 6 55 0 56 0 6
100 | 0 57 2 6 41 0 0 58 2 60
110 | 59 0 29 61 1 59 55 0 62 2
120 | 55 0 0 0 63 2 55 0 0 0
130 | 64 2 66 55 65 0 67 2 20 0
140 | 33 6 69 2 6 0 0 0 70 2
150 | 23 15 0 29 71 3 15 6 0 29
160 | 29 72 2 6 0 0 0 73 3 20
170 | 6 0 29 6 74 2 6 0 0 0
180 | 76 1 55 77 78 79 2 6 0 48
190 | 0 89 1 6 11 0 90 2 0 41
200 | 0 0 1 1 0 41 0 1 0 2
210 | 11 1 2 0 11 0 0 1 0 0
220 | 23 24 1 0 23 43 1 0 0 43
230 | 50 0 0 0 1 0 2 96 1 0
240 | 2 11 1 0 0 15 1 1 0 15
250 | 43 1 1 0 6 0 1 1 0 15
260 | 0 1 2 0 15 0 43 1 1 2
270 | 11 0 1 0 1 94 1 2 0 0
280 | 0 48 1 1 0 6 0 1 1 2
290 | 97 0 1 0 0 6 1 1 0 6
300 | 43 1 1 0 97 0 1 0 0 41
310 | 86 1 0 0 20 1 2 0 0 20
320 | 43 1 1 2 11 0 14 0 0 48
330 | 51 0 0 41 1 2 0 0 0 48
340 | 1 0 0 41 1 0 0 41 1 0
350 | 0 41 88 0 2 96 1 0 2 11
360 | 1 0 0 15 1 1 0 15 43 1
370 | 1 0 6 0 1 1 0 15 0 1
380 | 2 0 15 0 43 1 1 2 11 0
390 | 1 0 1 94 1 2 0 0 0 48
400 | 1 1 0 6 0 1 1 2 97 0
410 | 1 0 0 6 1 1 0 6 43 1
420 | 1 0 97 0 1 0 0 41 85 1
430 | 0 78 0 1 0 0 41 92 0 0
440 | 41 91 0 0 41 93 1 0 100 0
450 | 1 0 0 41 87 2 0 6 0 29
460 | 53 1 0 20 0 28 1 0 15 43
470 | 1 2 0 15 43 43 1 2 0 20
480 | 0 43 47 1 0 20 0 1 1 0
490 | 0 20 1 0 0 99 1 1 0 99
500 | 43 1 2 0 0 0 0 1 0 0
510 | 41 83 1 0 0 20 22 1 0 55
520 | 0 68 0 0 43 44 0 2 98 1
530 | 3 0 0 0 0 0 1 0 0 41
540 | 81 2 0 0 15 0 18 2 0 0
550 | 0 0 1 0 0 41 84 0 0 41
560 | 82 0 0 41 80 0 0 0 1 2
570 | 0 41 0 0 1 1 0 0 0 1
580 | 2 0 0 0 0 1 2 0 0 0
590 | 0 1 2 0 0 0 48 1 2 0
600 | 0 16 0 19 2 0 0 6 0 1
610 | 2 0 0 0 6 1 2 0 0 0
620 | 0 75 2 0 0 29 0 1 2 0
630 | 0 33 0 1 2 0 0 48 0 1
----------------Size------------------
infovec total = 4434 BYTES
template = 2064
operations = 556 (complete)
attributes = 6
categories = 528
data vector = 1280
number of function slots (one extra node) = 24
number of latch slots (2 extra nodes) = 35
number of lazy slots (no extra nodes) = 37
size of domain vectors = 101 slots
domain size = 5562 BYTES
cost per instantiation = 1536 BYTES
(1) ->
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer