Next: , Previous: Top, Up: Top


1 Introduction

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. Notably, GSLL provides allows use of the GNU Scientific Library and is based on Antik.

There are two Common Lisp packages defined by Antik, antik and grid. Names within these packages have been chosen to match Common Lisp names where the corresponding function could be considered a generalization of the CL function. Therefore, shadowing is used to make sure that within the antik package and packages that use it, a reference to the symbol will use the Antik definition and not the CL definition.

It is the intent of the author that libraries that provide overlapping functionality have names and argument lists that match as much as possible. For example, if two libraries aaa and bbb both have a LU decomposition function, they will be named aaa:LU-decomposition and bbb:LU-decomposition, with the same arguments, and that Antik-provided objects be portable between libraries. Thus, a user could easily switch between libraries with little or no rewriting, and easily compare results.

There is a package defined for users to use Antik, antik-user. All the appropriate symbols are shadowed. It usees the packages common-lisp, grid, antik, and iterate. To make another package with the same use and shadowing properties, call the function antik:make-user-package.

— Function: antik:make-user-package name

Make a package in which it is convenient to use Antik and related systems. If the package already exists, the use-packages and shadowing symbols are updated.