Databases

The index.kaf file contains information that will go into the various Axiom database (.daase). These database files are in src -> share -> algebra.

The kaf file format is a random access file.

There is a standalone command called asq which will give information from Axiom's databases:

asq
asq Integer
asq -sh Integer

(see daase.lisp.pamphlet for the structure defnition)

interp.daase  
operation.daase  
category.daase  
compress.daase  
browse.daase  

An association list, or alist for short, records a mapping from keys to values. It is a list of cons cells called associations: the car of each cons cell is the key, and the cdr is the associated value


It would be useful to have access to these databases from SPAD. There is some database code in: alql.spad.pamphlet but, as far as I can see, this doesn't seem to access the '.daase' data.

There is also information in daase.lisp.


Reading Databases from SPAD

Databases can be read using 'getDatabase' (from alql.spad.pamphlet)

The particular database is set by input to getDatabase:

Operations Database

(1) -> display(getDatabase("o"))

<snip>
   1 : ()->_$
1 : ()->_$
<= : (_$,_$)->_$
<= : (_$,_$)->Boolean
<= : (_$,_$)->Boolean
< : (_$,_$)->_$
< : (_$,_$)->Boolean
< : (_$,_$)->Boolean
< : (_$,_$)->Boolean
= : (_$,_$)->Boolean
= : (_$,_$)->Boolean
= : (_$,_$)->Boolean
= : (_$,_$)->Boolean
= : (_$,_$)->Boolean
= : (_$,_$)->Boolean
= : (_$,_$)->Boolean
= : (_$,_$)->_$
= : (S,S)->_$
= : (_$,_$)->Boolean
>= : (_$,_$)->_$
>= : (_$,_$)->Boolean
> : (_$,_$)->Boolean
> : (_$,_$)->_$
> : (_$,_$)->Boolean
AND
:
(Union(I:Expression(Integer),F:Expression(Float),CF:Expression(Complex(Fl
oat)),switch:_$),Union(I:Expression(Integer),F:Expression(Float),CF:Expre
ssion(Complex(Float)),switch:_$))->_$
Aleph : (NonNegativeInteger)->_$
An : (_$)->Vector(R)
And : (_$,_$)->_$
And : (_$,_$)->_$
B1solve
:
(Record(mat:Matrix(Fraction(Polynomial(R))),vec:List(Fraction(Polynomial(
R))),rank:NonNegativeInteger,rows:List(Integer),cols:List(Integer)))->Rec
ord(partsol:Vector(Fraction(Polynomial(R))),basis:List(Vector(Fraction(Po
lynomial(R)))))
BY : (_$,Integer)->_$
BasicMethod : (I)->Factored(I)
Beta : (F,F)->F
Beta : (NonNegativeInteger,NonNegativeInteger)->()->Float
<snip>

Constructors Database

(2) -> display(getDatabase("k"))
	  
	AbelianGroup : ()->Category
   AbelianMonoidRing : (Join(SemiRng,etc),OrderedAbelianMonoid)->Category
   AbelianMonoid : ()->Category
   AbelianProductCategory : (Type)->Category
   AbelianSemiGroup : ()->Category
   Aggregate : ()->Category
   Algebra : (CommutativeRing)->Category
   AlgebraicallyClosedField : ()->Category
   AlgebraicallyClosedFunctionSpace : (Join(Comparable,etc))->Category
   Approximate : ()->Category
   ArcHyperbolicFunctionCategory : ()->Category
   ArcTrigonometricFunctionCategory : ()->Category
   AssociationListAggregate : (SetCategory,Type)->Category
   BagAggregate : (Type)->Category
   BasicType : ()->Category
   BiModule : (SemiRng,SemiRng)->Category
<snip>

Domains Database

(3) -> display(getDatabase("d"))
	  
	     AlgebraGivenByStructuralConstants
      :
      (R:Field,n:PositiveInteger,List(Symbol),Vector(Matrix(R)))->Join(FramedNo
      nAssociativeAlgebra(R),etc)
   AlgebraicFunctionField
      :
      (F:Field,UP:UnivariatePolynomialCategory(F),UPUP:UnivariatePolynomialCate
      gory(Fraction(UP)),UPUP)->Join(FunctionFieldCategory(F,UP,UPUP),etc)
   AlgebraicNumber : ()->Join(ExpressionSpace,etc)
   AnonymousFunction : ()->SetCategory
   AntiSymm : (Ring,List(Symbol))->Join(LeftAlgebra(R),etc)
   Any : ()->Join(SetCategory,etc)
   ArrayStack : (SetCategory)->Join(StackAggregate(S),etc)
   AssociatedJordanAlgebra
      :
      (R:CommutativeRing,A:NonAssociativeAlgebra(R))->Join(NonAssociativeAlgebr
      a(R),etc)
   AssociatedLieAlgebra
      :
      (R:CommutativeRing,A:NonAssociativeAlgebra(R))->Join(NonAssociativeAlgebr
      a(R),etc)
   AssociationList
      : (SetCategory,Entry:Type)->AssociationListAggregate(Key,Entry)
   Automorphism : (Ring)->Join(Group,etc)

 <snip>

Categories Database

(4) -> display(getDatabase("c"))

   AbelianGroup : ()->Category
   AbelianMonoidRing : (Join(SemiRng,etc),OrderedAbelianMonoid)->Category
   AbelianMonoid : ()->Category
   AbelianProductCategory : (Type)->Category
   AbelianSemiGroup : ()->Category
   Aggregate : ()->Category
   Algebra : (CommutativeRing)->Category
   AlgebraicallyClosedField : ()->Category

<snip>

 (4) -> fullDisplay(getDatabase("c"),2,2)                                     
   AbelianMonoidRing : (Join(SemiRng,etc),OrderedAbelianMonoid)->Category    
      from R,E) if "AMR"                                                     
                                                                   Type: Void
(5) ->  

Packages Database

(5) -> display(getDatabase("p")) 
	  
	AlgFactor : (UnivariatePolynomialCategory(AlgebraicNumber))->etc
   AlgebraPackage : (R:IntegralDomain,A:FramedNonAssociativeAlgebra(R))->etc
   AlgebraicFunction : (R:Join(Comparable,etc),F:FunctionSpace(R))->etc
   AlgebraicHermiteIntegration
      :
      (F:Field,UP:UnivariatePolynomialCategory(F),UPUP:UnivariatePolynomialCate
      gory(Fraction(UP)),R:FunctionFieldCategory(F,UP,UPUP))->etc
   AlgebraicIntegrate
      :
      (R0:Join(Comparable,etc),F:Join(AlgebraicallyClosedField,etc),UP:Univaria
      tePolynomialCategory(F),UPUP:UnivariatePolynomialCategory(Fraction(UP)),R
      :FunctionFieldCategory(F,UP,UPUP))->etc
   AlgebraicIntegration
      : (R:Join(Comparable,etc),F:Join(AlgebraicallyClosedField,etc))->etc
   AlgebraicManipulations : (R:IntegralDomain,F:Join(Field,etc))->etc
   AlgebraicMultFact
      :
      (OV:OrderedSet,E:OrderedAbelianMonoidSup,P:PolynomialCategory(AlgebraicNu
      mber,E,OV))->etc
   AnyFunctions1 : (Type)->etc
   ApplyRules
      : (Base:SetCategory,R:Join(Ring,etc),F:Join(FunctionSpace(R),etc))->etc
<snip>

 


ASQ

fricas-1.1.0/target/x86_64-suse-linux/bin> ./asq
AXIOM shell variable has no value. using current directory
Usage:
  ./asq key
or
  ./asq -property key
where key is the name (or abbreviation) and property
is one of the following:
  (al) all
  (con) constructor
  (so) sourcefile
  (ckind) constructorkind
  (nilad) niladic
  (abbr) abbreviation
  (ddom) defaultdomain
  (anc) ancestors
  (op) operations
  (attr) attributes
  (cos) cosig
  (cform) constructorform
  (cmod) constructormodemap
  (mod) modemaps
  (ccat) constructorcategory
  (doc) documentation
  (pre) predicates
You can give full property name or use abbreviated form
given in parenthesis above.
The first form prints all properties.
/fricas-1.1.0/target/x86_64-suse-linux/bin> ./asq so
AXIOM shell variable has no value. using current directory
unable to find the file compress.daase
fricas-1.1.0/target/x86_64-suse-linux/bin> ./asq (so)
bash: syntax error near unexpected token `so'
fricas-1.1.0/target/x86_64-suse-linux/bin> ./asq CliffordAlgebra
AXIOM shell variable has no value. using current directory
unable to find the file compress.daase
fricas-1.1.0/target/x86_64-suse-linux/bin>
 

metadata block
see also:
Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

flag flag flag flag flag flag Axiom Volume 1: Tutorial. Documentation is freely availible from: http://www.axiom-developer.org/axiom-website/documentation.html

 

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2017 Martin John Baker - All rights reserved - privacy policy.