[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) ->
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Axiom-developer] )describe,
daly <=