I am struggling to understand the relationship between lisp and maxima
properties on functions.
For example, I look at the properties of sin:
(%i1) properties(sin);
(%o1) [mirror symmetry, deftaylor, integral, distributes over bags, rule,
noun, gradef,
transfun]
(%i2) :lisp (properties '%sin)
((MLIST SIMP) mirror symmetry $DEFTAYLOR $INTEGRAL distributes over bags
$RULE
$NOUN $GRADEF)
(%i2) :lisp (properties '$sin)
((MLIST SIMP) $TRANSFUN)
(%i2) :lisp (symbol-plist '%sin)
(TEX-RBP 130 TEXSYM (\sin ) TEXWORD \sin TEX TEX-PREFIX
COMMUTES-WITH-CONJUGATE T SP2
((%SUM)
((MTIMES) ((MEXPT) -1 *INDEX)
((MEXPT) ((MFACTORIAL) ((MPLUS) ((MTIMES) 2 *INDEX) 1)) -1)
((MEXPT) SP2VAR ((MPLUS) ((MTIMES) 2 *INDEX) 1)))
*INDEX 0 $INF)
RECIP %CSC EXP-FORM (EXPEXP-FUNS ((1 . 1) 1 . 1) (-1 . 1) (-1 . 1) (2
. 1))
INTEGRAL ((X) ((MTIMES) -1 ((%COS) X))) SUBC
($FLOAT $NUMER $BFLOAT $%PIARGS $%IARGS $TRIGINVERSES $TRIGEXPAND
$EXPONENTIALIZE $HALFANGLES $TRIGSIGN $LOGARC)
KIND (C) REFLECTION-RULE #<COMPILED-FUNCTION ODD-FUNCTION-REFLECT>
DISTRIBUTE_OVER (MLIST $MATRIX MEQUAL) OPERATORS SIMP-%SIN
LISP-FUNCTION-TO-USE SIN TRANSLATE
#<COMPILED-FUNCTION 20 27 (DEF%TR %LOG (FORM) ...)-3-1> REVERSEALIAS
$SIN NOUN
$SIN $INVERSE %ASIN FLOATPROG SINBIGFLOAT GRAD ((X) ((%COS) X)))
1. What use are the maxima properties, and how are the accessed?
(%i7) get(sin,noun);
(%o7) false
(%i8) get(sin,'noun);
(%o8) false
(%i9) get(sin,"noun");
(%o9) false
(%i10) get(verbify(sin),'noun);
(%o10) false
(%i11) get(verbify(sin),"noun");
(%o11) false
(%i12) get(verbify(sin),?$NOUN);
(%o12) false
(%i13) get(verbify(sin),?$noun);
(%o13) false
2. Is there a relation between the lisp and maxima properties?
I don't see this for elliptic_kc for a fresh maxima session
(%i1) properties(elliptic_kc);
(%o1) [transfun]
(%i2) :lisp (symbol-plist '%elliptic_kc)
(GRAD
((M)
((MTIMES) ((RAT) 1 2)
((MPLUS) ((%ELLIPTIC_EC) M)
((MTIMES) -1 ((%ELLIPTIC_KC) M) ((MPLUS) 1 ((MTIMES) -1 M))))
((MEXPT) ((MPLUS) 1 ((MTIMES) -1 M)) -1) ((MEXPT) M -1)))
SIMPLIM%FUNCTION SIMPLIM%ELLIPTIC_KC OPERATORS SIMP-%ELLIPTIC_KC)
but while I was messing around with properties I ended up with
(%i99) properties(elliptic_kc);
(%o99) [transfun, noun, gradef, limit function, rule]
Somehow I managed to update the maxima properties from the lisp properties.