Maxima digest, Vol 1 #166 - topic 1



1. building maxima on autocad's autolisp (Richard J. Fateman)
------------------------------------------------------------------------

OK, it is probably not a sound strategy to use AutoLISP for
the purpose I mentioned.  This is because it is an interpreter
which would require access to the lisp source-code.   My
problem would be completely solved if I could roll a kdelta
function definition for k_delta which performs exactly like that
in Macsyma 2.2.  Then I could supply this function to my existing
ebooks and epapers  in the appendix and recommend
readers to download Maxima instead.  Here is how k_delta
function performs in Macsyma 2.2+:

k_delta(1,1);     1
k_delta(1,0);     0
k_delta(0,1);     0
k_delta(true,true);     1
k_delta(true,false);    0
k_delta(false,true);    0

So far I have failed to emulate this exactly in a kdelta function
using compare(i,j) with filters.  Here is my kdelta function which
works partially:

kdelta(i,j):=block([args:args [i,j]],(compare(i,j)-pos)*(compare(i,j)-neg))
/((zero-neg)*(zero-pos))$

kdelta(1,1);     1
kdelta(1,0);     0
kdelta(0,1);     0
kdelta(true,true);     1
kdelta(true,false);    (PNZ - NEG) (PNZ - POS)/((ZERO - NEG) (ZERO - POS) )
kdelta(false,true);    (PNZ - NEG) (PNZ - POS)/((ZERO - NEG) (ZERO - POS) )

HuenYK
www.cahresearch.com