TILU Lisp Syntax

Common Errors

IF YOU DID THIS (WRONG)          YOU PROBABLY MEANT THIS (RIGHT)

 sin(x)  or  sin x               (sin x)
 a*x                             (* a x)
 x^2 or x**2                     (expt x 2)
 a*x^2+b                         (+ (* a (expt x 2)) b)
 x^0.5                           (sqrt x) 
 -q                              (- q)    or   (* -1 q)
more details follow.

Names of Constants Understood by TILU

You should probably NOT have floating point numbers in the forms you submit, although these may sometimes work. We do not offer (yet, at least) NUMERICAL integration, except as an accidental consequence of exact symbolic table-lookup.

Acceptable constants include (optionally) signed integers of arbitrary length. Examples: -1234567890123, 0, 45. Fractions are expressed in lisp in this form: 1/2, -3/2, etc. The complex square-root of -1 is #c(0 1).

Names of Mathematical Functions Understood by TILU

This list is for input in Common Lisp. Conventionally, these would be typed in lower case, but the Lisp input is currently not case sensitive. The presence of a function in this list does not mean we can integrate all formulas involving that function. In fact, the currently loaded table of integrals may include no formulas with some of the functions below.

(* + / abs arccos arccosech arccosh arccot arccoth arccsc arcsec arcsech
   arcsin arcsinh arctan arctanh bessel-any bessel-i bessel-j chebyshev cos
   cosh cot coth csc csch dirichlet elliptic-e elliptic-f
   elliptic-k erf erfc exp expt hermite hypergeo jacobi-sn laguerre 
   legendre log reciprocal sec sech sin sinh sqrt tan tanh)

Notice that raising to a power x^n is accomplished by using (expt x n), and the exponential function, sometimes written e^x, is (exp x). It is our hope that common functions are spelled conventionally.

In Lisp, functions and their arguments are combined in a totally systematic way that requires no extra bracketing to specify precedence, etc. This form is a fully-parenthesized prefix form. Thus a+b*c is expressed in lisp as (+ a (* b c)). The expression (log x) is the natural logarithm. The trigonometric and arctrigonometric functions are in radians.

Although we allow (- x 1) or (- x) as input, we generally view (+ -1 x) and (* -1 x) as simpler, and provide results that way.

Additional notes for users of special functions


This section is incomplete
In the following list of indexed functions, the second argument is the index, not the first. This order of arguments differs from the usual convention.
(bessel-any bessel-i bessel-j chebyshev elliptic-e elliptic-f elliptic-k
 hermite hypergeo jacobi-sn laguerre legendre)
Bessel-any denotes either of the bessel functions, in case you wish to retrieve those integrals true of any of the various Bessel functions. (we still need to explain hypergeo.)

Richard J. Fateman fateman@cs.berkeley.edu
Theodore H. Einwohner (1931-1997)
Timothy A. James tjames@cs.berkeley.edu

Email: tilu-owners@cs.berkeley.edu
Last revised March 17, 1998 by TAJ

Back to Tilu