Algebrite v.1.0.0 (latest-stable) - function reference. See all docs of all versions.


Function Reference

Algebrite v.1.0.0 (latest-stable) / Page revision: 1

abs
adj
and
arccos
arccosh
arcsin
arcsinh
arctan
arctanh
arg
besselj
bessely
ceiling
check
choose
circexp
clear
clearall
coeff
cofactor
  conj
contract
cos
cosh
cross
curl
d
defint
deg
denominator
det
dim
do
dot
draw (unavailable)
eigen
eigenval
eigenvec
erf
erfc
  eval
exp
expand
expcos
expsin
factor
factorial
filter
float
floor
for
gcd
hermite
hilbert
imag
inner
integral
inv
isprime
laguerre
  lcm
leading
legendre
log
lookup
mod
not
nroots
numerator
or
outer
polar
prime
print
print2dascii
printfull
printlatex
printlist
printplain
product
  quote
quotient
rank
rationalize
real
rect
roots
shape
simplify
sin
sinh
sqrt
stop
subst
sum
symbolsinfo
tan
tanh
taylor
test
  transpose
unit
version
zero

Complex number functions arg conj imag abs polar real rect

Linear algebra functions abs adj cofactor contract det dot inv outer transpose unit zero

Calculus functions circexp defint d eval integral taylor

Polynomial functions coeff deg eval expand factor leading nroots quotient roots

Special functions besselj bessely hermite laguerre legendre

Scripting do for product stop sum test

abs(x) source

Returns the absolute value of a real number, the magnitude of a complex number, or the vector length.

adj(m) source

Returns the adjunct of matrix m. The inverse of m is equal to adj(m) divided by det(m).

and(a,b,...) source

Logical-and of predicate expressions.

arccos(x) source

Returns the inverse cosine of x.

arccosh(x) source

Returns the inverse hyperbolic cosine of x.

arcsin(x) source

Returns the inverse sine of x.

arcsinh(x) source

Returns the inverse hyperbolic sine of x.

arctan(x) source

Returns the inverse tangent of x.

arctanh(x) source

Returns the inverse hyperbolic tangent of x.

arg(z) source

Returns the angle of complex z.

besselj(x,n) source

Returns a solution to the Bessel differential equation (Bessel function of first kind).

bessely(x,n) source

Bessel function of second kind.

ceiling(x) source

Returns the smallest integer not less than x.

check(x) source

If x is true then continue, else stop. Use A=B to check that A equals B.

choose(n,k) source

Returns the number of combinations of n items taken k at a time.

circexp(x) source

Returns expression x with circular and hyperbolic functions converted to exponential forms. Sometimes this will simplify an expression.

clear(x) source

Completely wipes a variable from the environment (while doing x = quote(x) just unassigns it).

clearall source

Completely wipes all variables from the environment.

coeff(p,x,n) source

Returns the coefficient of x to the n in polynomial p. The x argument can be omitted for polynomials in x.

cofactor(m,i,j) source

Let c be the cofactor matrix of matrix m, i.e., tranpose(c) = adj(m). This function returns c[i,j].

conj(z) source

Returns the complex conjugate of z.

contract(a,i,j) source

Returns "a" summed over indices i and j. If i and j are omitted then 1 and 2 are used. contract(m) is equivalent to the trace of matrix m.

cos(x) source

Returns the cosine of x.

cosh(x) source

Returns the hyperbolic cosine of x.

cross(u,v) source

Returns the cross product of vectors u and v.

curl(u) source

Returns the curl of vector u.

d(f,x) source

Returns the partial derivative of f with respect to x. x can be a vector e.g. [x,y].

defint(f,x,a,b) source

Returns the definite integral of f with respect to x evaluated from "a" to b. The argument list can be extended for multiple integrals (or "iterated integrals"), for example a double integral (which can represent for example a volume under a surface), or a triple integral, etc. For example, defint(f,x,a,b,y,c,d).

deg(p,x) source

Returns the degree of polynomial p(x).

denominator(x) source

Returns the denominator of expression x.

det(m) source

Returns the determinant of matrix m.

dim(a,n) source

Returns the cardinality of the nth index of tensor "a".

do(a,b,...) source

Evaluates each argument from left to right. Returns the result of the last argument.

dot(a,b,...) source

Returns the dot or inner product of tensors.

draw(f,x) -- UNAVAILABLE

Draws a graph of f(x). Drawing ranges can be set with xrange and yrange.

eigen(m) source

eigenval(m)

eigenvec(m)

These functions compute eigenvalues and eigenvectors numerically. Matrix m must be both numerical and symmetric. The eigenval function returns a matrix with the eigenvalues along the diagonal. The eigenvec function returns a matrix with the eigenvectors arranged as row vectors. The eigen function does not return anything but stores the eigenvalue matrix in D and the eigenvector matrix in Q.

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

Enter

     A = hilbert(3)

     eigen(A)

     lambda = D[1,1]

     X = Q[1]

     dot(A,X) - lambda X

Result

     -1.16435e-14
 
     -6.46705e-15
 
     -4.55191e-15

Example 2: Check the relation A = QTDQ.

Enter

  A - dot(transpose(Q),D,Q)

Result
 
  6.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(x) source

Error function of x.

erfc(x) source

Complementary error function of x.

eval(f,x,a) source

Returns f evaluated at x=a.

exp(x) source

Returns the exponential of x.

expand(r,x) source

Returns the partial fraction expansion of the ratio of polynomials r in x.

expcos(x) source

Returns the exponential cosine of x.

expsin(x) source

Returns the exponential sine of x.

factor(n) source

Factors integer n.

factor(p,x)

Factors polynomial p of x. The x can be omitted for polynomials in x. The polynomial should be factorable over integers. The argument list can be extended for multivariate polynomials. For example, factor(p,x,y) factors p over x and then over y.

factorial(x) source

Can be entered as x!

filter(f,a,b,...) source

Returns f excluding any terms containing a, b, etc.

float(x) source

Converts rational numbers and integers to floating point values. The symbol pi is also converted.

floor(x) source

Returns the largest integer not greater than x.

for(i,j,k,a,b,...) source

For i starting from the integer j through to the integer k (inclusive of both ends if they are different, see examples): evaluate a, then evaluate b, etc.
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(k,1,9,x=sqrt(2+x),y=2*y/x)
float(y)

gcd(a,b,...) source

Returns the greatest common divisor.

hermite(x,n) source

Returns the nth Hermite polynomial in x.

hilbert(n) source

Returns an n by n Hilbert matrix.

imag(z) source

Returns the imaginary part of complex z.

inner(a,b,...) source

Returns the inner product of tensors. Same as the dot product.

integral(f,x) source

Returns the integral of f with respect to x.

inv(m) source

Returns the inverse of matrix m.

isprime(n) source

Returns 1 if n is a prime number, returns zero otherwise.

laguerre(x,n,a) source

Returns the nth Laguerre polynomial in x. If "a" is omitted then a=0 is used.

lcm(a,b,...) source

Returns the least common multiple.

leading(p,x) source

Returns the leading coefficient of polynomial p in x.

legendre(x,n,m) source

Returns the nth Legendre polynomial in x. If m is omitted then m=0 is used.

log(x) source

Returns the natural logarithm of x.

lookup(x) source

Returns the contents of x without evaluating x. E.g.
x = quote(1+2)
printlist(lookup(x)) # gives (add 1 2)

mod(a,b) source

Returns the remainder of the result of "a" divided by b.

not(x) source

Returns the logical negation of x.

nroots(p,x) source

Returns all of the roots, both real and complex, of polynomial p in x. The roots are computed numerically. The coefficients of p can be real or complex.

numerator(x) source

Returns the numerator of expression x.

or(a,b,...) source

Logical-or of predicate expressions.

outer(a,b,...) source

Returns the outer product of tensors. Also known as the tensor product.

polar(z) source

Returns complex z in polar form.

prime(n) source

Returns the nth prime number. The domain of n is 1 to 10000.

print(a,b,...) source

Evaluate expressions and print the results. The "style" of printing is the same as "printplain". Useful for example for printing from inside a "for" loop.

print2dascii(a,b,...) source

Evaluate expressions and print the results. The expressions are laid out spacially, as if printed with a teletype. Useful for consoles and where fancy latex output can't be visualised. Useful for printing from inside a "for" loop.

printfull(a,b,...) source

Evaluate expressions and print the results. The style of printing is "computer-frendly", all symbols and operations are printed. Useful for printing from inside a "for" loop.

printlatex(a,b,...) source

Evaluate expressions and print the results, as latex. Useful for printing from inside a "for" loop.

printlist(a,b,...) source

Evaluate expressions and print the results. Each list of the expression tree is fully laid out. Useful to have an accurate idea of the internal representation. Useful for printing from inside a "for" loop.

printplain(a,b,...) source

Evaluate expressions and print the results, with some human-friendly shortcuts such as omitting the product signs. Useful for printing from inside a "for" loop.

product(i,j,k,f) source

For i equals j through k evaluate f. Returns the product of all f.

quote(x) source

Returns expression x without evaluating it first.

quotient(p,q,x) source

Returns the quotient of polynomial p(x) over q(x). The last argument can be omitted for polynomials in x. The remainder can be calculated by p-q*quotient(p,q).

rank(a) source

Returns the number of indices that tensor "a" has.

rationalize(x) source

Returns x with everything over a common denominator.

real(z) source

Returns the real part of complex z.

rect(z)

Returns complex z in rectangular form.

roots(p,x)

Returns the values of x such that p(x)=0. The polynomial p should be factorable over integers. Returns a vector for multiple roots. Individual roots can be obtained using component notation, i.e., r1=roots(p,x)[1].

shape(x) source

Returns a vector with the "shape" of the input tensor, i.e. a vector with an integer for each dimension (representing the size of each dimension). For example vectors are tensors of one dimension, so a vector with one integer (the length of the vector) is returned. Matrixes are 2-dimensional tensors, so a vector with two integers is returned (rows, columns), etc.

simplify(x)

Returns x in a simpler form.

sin(x)

Returns the sine of x.

sinh(x)

Returns the hyperbolic sine of x.

symbolsinfo

Returns info about all the variables in the environment.

sqrt(x)

Returns the square root of x.

stop()

In a script, it does what it says.

subst(a,b,c)

Substitutes "a" for b in c and returns the result.

sum(i,j,k,f)

For i equals j through k evaluate f. Returns the sum of all f.

tan(x)

Returns the tangent of x.

tanh(x)

Returns the hyperbolic tangent of x.

taylor(f,x,n,a)

Returns the Taylor expansion of f(x) around x=a. If "a" is omitted then a=0 is used. The argument n is the degree of the expansion.

test(a,b,c,d,...)

If "a" is true then b is returned else if c is true then d is returned, etc. If the number of arguments is odd then the last argument is returned when all else fails. Use A=B to test that A equals B.

transpose(a,i,j)

Returns the transpose of "a" with respect to indices i and j. If i and j are omitted then 1 and 2 are used. Hence a matrix can be transposed with a single argument, i.e., transpose(a).

unit(n)

Returns an n by n identity matrix.

zero(i,j,...)

Returns a null tensor with dimensions i, j, etc. Useful for creating a tensor and then setting the component values.

version

Prints out version.