About
Antik provides a foundation for scientific and engineering computation in Common Lisp. It is designed not only to facilitate numerical computations, but to permit the use of numerical computation libraries and the interchange of data and procedures, whether foreign (non-lisp) or Lisp libraries. It is named after the Antikythera mechanism, one of the oldest examples of a scientific computer known.
Antik provides the following:
- Mathematics
- Organization of computation
- Grids (generalized arrays)
- Physical quantities
- Numerical output format
- Mathematical utility
- Three dimensional space
- Higher mathematics
Since it is intended to provide a foundation, Antik generally avoids more specialized definitions, with the intent that separate libraries using Antik, like GSLL will make those definitions. Where it is appropriate, convenient grouping of definitions made in other libraries are provided in higher mathematics.
Examples
Unit arithmetic:
ANTIK-USER> (+ #_23_meters #_20_feet) #_29.096000000000000d0_m ANTIK-USER> (+ #d2011-07-30T12:00 #_4_days) 2011-08-03 12:00:00.000
Foreign arrays:
ANTIK-USER> (setf *default-grid-type* 'foreign-array) FOREIGN-ARRAY ANTIK-USER> (norm #m(3.0 4.0)) 5.0
Lisp arrays:
ANTIK-USER> (norm #(3.0 4.0)) 5.0
Download and Install
Download
Most users will get Antik using Quicklisp. Once Quicklisp is installed, install Antik with
(ql:quickload "antik")
License
This software is distributed under the GPL ; see the file COPYING. There is absolutely no warranty.
Documentation
A detailed manual is available and distributed with the software source code.
Status
Antik is usable now. The topics listed above are fairly complete, but documentation may be lacking. Added definitions for these topics and new topics may be forthcoming.
Contact
There is a mailing list for all aspects of this project, including bug reports. Please join the list to post. In addition, I am frequently on #lisp IRC channel as LiamH. For bug reports, please use the mailing list. The development site for Antik has the git repository. If you have patch(es), please commit your changes and do:
git format-patch origin
This will produce one or more files whose names start with a four-digit number; please attach them all to your email.