axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] )describe


From: daly
Subject: [Axiom-developer] )describe
Date: Sun, 8 Jun 2014 16:53:07 -0500

Nice work. I really like the work you are doing.
Is that code in your github repo?

Tim



>>> Also, in src/algebra/Makefile.pamphlet there are "layerpic" chunks
>>> which encode the graphviz graph for all of the algebra. Extracting
>>> layerpic will create the associated graphviz dot file.
>>
>>Oh no... I don't want that. I want the result, but not code a .dot file
>>by hand. That's unmaintainable.
>>
>>I rather think of giving the name of a constructor and have the
>>respective .dot-file for *this* specific constructor produced by some
>>program from the data I get via GETDATABASE.
>
>
>
>
>
>Some of what you need exists. 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) ->
>



reply via email to

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