You can use external function as standard functions by its file name without extension, e.g. abs(x), not abs.txt. You can add your own file to the library. It is loaded auto when it needs.

Complex number functions

arg
conj
imag = im
abs
polar
real = re
rect

Linear algebra functions

abs
adj
cofactor
contract
det
dot
inverse
outer
transpose
unit

Calculus functions

circexp
define
d
eval
integral
integrate
taylor

Polynomial functions

coeff
deg
eval
expand
factor
leading
psolve
quotient
polyroot

Special functions

besselJ
besselY
hermite
laguerre
legendre
zeta

Equation

dsolve
lasolve
solve
psolve
nsolve
test

abs(

adj(

and(

acos(

acosh(

asin(

asinh(

atan(

atan2(

atanh(

arg(

besselJ(

besselY(

ceil(

check(

choose(

combination(

circexp(

clear(

clearall source

coeff(

cofactor(

conj(

contract(

cos(

cosh(

cross(

curl(

d(

d(

define(

deg(

denominator(

det(

dim(

do(

dot(

dsolve(

draw(

plot(

eigen(

Example 1. Check the relation AX = lambda X where lambda is an eigenvalue and X is the associated eigenvector.

EnterA = hilbert(3) eigen(A) lambda = D[1,1] X = Q[1] dot(A,X) - lambda XResult-1.16435e-14 -6.46705e-15 -4.55191e-15

Example 2: Check the relation A = Q^{T}DQ.

EnterA - dot(transpose(Q),D,Q)Result6.27365e-12 -1.58236e-11 1.81902e-11 -1.58236e-11 -1.95365e-11 2.56514e-12 1.81902e-11 2.56514e-12 1.32627e-11

erf(

erfc(

erfi(

evaluate(

exp(

expand(

expcos(

expsin(

factor(

factorial(

factorial2(

filter(

float(

floor(

for(

j and k must either be integers or evaluate to integers. Either of them can be negative, and they can be equal, e.g.

...if j < k e.g. j = -1 and k = 1 then i goes through the values -1,0,1

...if j > k e.g. j = 1 and k = -1 then i goes through the values 1,0,-1

...if j = k e.g. j = 3 and k = 3 (or j = -3 and k = -3) then i goes through the only value 3 (or -3, respectively)

The index variable is not clobbered i.e. the original value of the index variable is restored after "for" completes.

The following script uses "for" to compute pi to six digits using Viete's formula ( see http://www.pi314.net/eng/viete.php ).

x=0 y=2 for(do(x=sqrt(2+x),y=2*y/x), k,1,9) float(y)

gcd(

hermite(

hilbert(

imag(

inner(

integral(

integrate(

integrate(

integrate(

inverse(

isprime(

laguerre(

lcm(

leading(

legendre(

log(

lookup(

x = quote(1+2) printlist(lookup(x)) # gives (add 1 2)

mod(

not(

nsolve(

numerator(

or(

outer(

polar(

poly(

polyroot(

psolve(

prime(

product(

quote(

quotient(

rank(

rationalize(

real(

rect(

shape(

simplify(

sin(

sinh(

symbolsinfo source

sqrt(

subst(

sum(

sum(

tan(

tanh(

taylor(

test(

transpose(

unit(

zeta(