The symath Reference Manual

This is the symath Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Jul 15 06:36:58 2024 GMT+0.

2 Systems

The main system appears first, followed by any subsystem dependency.

2.1 `symath`

A simple symbolic math library for Common Lisp

Author

Pavel Kaygorodov <>

Source Control

MIT

Version

0.1

Source
Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.

3.1 Lisp

3.1.1 `symath/symath.asd`

Source
Parent Component

`symath` (system).

ASDF Systems

3.1.2 `symath/symath.lisp`

Source
Parent Component

`symath` (system).

Packages
Public Interface
Internals

3.2 Static

3.2.1 `symath/README.md`

Source
Parent Component

`symath` (system).

3.2.2 `symath/LICENSE`

Source
Parent Component

`symath` (system).

4 Packages

Packages are listed by definition order.

4.1 `symath`

Source
Use List

`common-lisp`.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.

5.1 Public Interface

5.1.1 Ordinary functions

Function: simplify (e)
Package
Source

5.1.2 Generic functions

Generic Function: array-multiply (x y)
Package
Methods
Method: array-multiply (x y)
Source

5.2 Internals

5.2.1 Special variables

Special Variable: *equarg-uniq-sym*
Package
Source
Special Variable: *return-best-variant*
Package
Source
Special Variable: *simplify-cache*
Package
Source

5.2.2 Macros

Macro: chain-func-rec (fl arg)

Recursively call function chain

Package
Source
Macro: def-expr-cond (&rest margs)

(expr-cond func-name expr-name :numberp cod :boolp cod :op (op cod) ... :defop cod)

Package
Source
Macro: defun-stable-expr (name args &rest cod)

Define the function of one argument, which will call itself with its result as a argument, until already a seen result will be returned

Package
Source
Macro: if-let (varexpr r1 &optional r2)
Package
Source

5.2.3 Ordinary functions

Function: all-arraysp (l)

Check if all elements in l are arrays

Package
Source
Function: all-bins (n)
Package
Source
Function: all-list-decs (l &key min max)
Package
Source
Function: boolp (e)
Package
Source
Function: calc-arrays (e)
Package
Source
Function: clear-simplify-cache ()
Package
Source
Function: collect-common (e)
Package
Source
Function: collect-common-nums (e)
Package
Source
Function: collect-exprs (e)

Collecting * and + expressions: (+ a (+ b c)) => (+ a b c)

Package
Source
Function: collect-expt (e)
Package
Source
Function: collect-one-common (e)
Package
Source
Function: collect-same-expts (e)
Package
Source
Function: copy-expr (e)
Package
Source
Function: denorm-expr (e)
Package
Source
Function: denorm-expr-expt (e)
Package
Source
Function: denorm-expr-minus (e)
Package
Source
Function: denorm-expr-minus1 (e)
Package
Source
Function: denorm-expr-plus-n (e)
Package
Source
Function: denorm-expr-zop (e)
Package
Source
Function: equal-arg-sets (l1 l2)

Check if l1 and l2 are lists of the same sets of expressions

Package
Source
Function: equal-args (l1 l2)

Check if l1 and l2 are lists of the same expressions

Package
Source
Function: equal-dimsp (l)

Check if all arrays in l has the same dimensions

Package
Source
Function: equal-expr (e1 e2)

Check if e1 and e2 a the same exprs

Package
Source
Function: equal-expr-1 (e1 e2)

Check if e1 is -e2

Package
Source
Function: expand-expt1 (e)
Package
Source
Function: expand-expt2 (e)
Package
Source
Function: expand-mul (e)
Package
Source
Function: expr-weight (e &key weight max-weight)

Calculate a difficulty to calculate the expression e. If the weight exceeds max-weight, don’t calculate more.

Package
Source
Function: extract-nums (e)
Package
Source
Function: filter-func (f l &optional invrs)
Package
Source
Function: isfunc (f e)
Package
Source
Function: map-array (lam &rest arrs)

Like #’mapcar, but for arrays

Package
Source
Function: math-rec-funcall (fn arg &optional deep)

Call the function fn recursively

Package
Source
Function: mequal (a b)
Package
Source
Function: mintegerp (x)
Package
Source
Function: norm-expr (e)
Package
Source
Function: simplify-expr2 (e)
Package
Source
Function: simplify-expr3 (g2 &optional g0)
Package
Source
Function: sqr (x)

Multiple argument by itself. Works for vectors too!

Package
Source
Function: tick ()
Package
Source