Genius 1.0.26
Copyright (C) 1997-2021 Jiří (George) Lebl
This is free software with ABSOLUTELY NO WARRANTY.
For license details type `warranty'.
For help type `manual' or `help'.
genius> help
For a manual on using Genius and the GEL language type:
manual
For help on a specific function type:
help FunctionName
Commands:
help - Print help (or help on a function/command)
load - Load a file into the interpreter
cd - Change directory
pwd - Print current directory
ls - List files in the current directory
plugin - Load a plugin
Basic:
AskButtons - Ask a question and present a list of buttons. Returns
the 1-based index of the button pressed (or null on
failure).
AskString - Ask a question and return a string. Optionally pass
in a default.
Compose - Compose two functions
ComposePower - Compose a function with itself n times, passing x as
argument, and returning x if n == 0
CurrentTime - Unix time in seconds as a floating point number
DisplayVariables - Display values of variables, or all if called without
arguments
Evaluate - Parse and evaluate a string
GetCurrentModulo - Get current modulo from the context outside the
function
Identity - Identity function, returns its argument
IntegerFromBoolean - Make integer (0 or 1) from a boolean value
IsBoolean - Check if argument is a boolean (and not a number)
IsDefined - Check if a variable or function is defined
IsFunction - Check if argument is a function
IsFunctionOrIdentifier - Check if argument is a function or an identifier
IsFunctionRef - Check if argument is a function reference
IsMatrix - Check if argument is a matrix
IsNull - Check if argument is a null
IsString - Check if argument is a text string
IsValue - Check if argument is a number
Parse - Parse a string (but do not execute)
PrintTable - Print a table of values for f(n) for numbers from
vector v, or if v is a number for integers from 1 to v
ProtectAll - Mark all currently defined variables as protected.
They will be treated as system defined variables from
now on.
SetElement - Set an element in a global variable which is a matrix
SetFunctionFlags - Set flags for a function, currently "PropagateMod" and
"NoModuloArguments"
SetHelp - Set the category and help description line for a
function
SetHelpAlias - Sets up a help alias
SetVElement - Set an element in a global variable which is a vector
UndefineAll - Undefine all unprotected (user defined) global
variables and parameters. Does not reset or change
protected (system) parameters.
UserVariables - Return a vector of all global unprotected (user
defined) variable names.
chdir - Changes current directory
display - Display a string and an expression
error - Prints a string to the error stream
exit,quit - Exits the program
false,False,FALSE - The false boolean value
manual - Displays the user manual
print - Prints an expression
printn - Prints an expression without a trailing newline
protect - Protect a variable from being modified. It will be
treated as a system defined variable from now on.
Protected parameters can still be modified.
set - Set a global variable
string - Make a string
true,True,TRUE - The true boolean value
undefine,Undefine - Undefine a variable (including all locals and globals
of the same name)
unprotect - Unprotect a variable from being modified. It will be
treated as a user defined variable from now on.
version - Return version as a 3-vector
wait - Waits a specified number of seconds
warranty - Gives the warranty information
Parameters:
ChopTolerance - Tolerance of the Chop function
ContinuousNumberOfTries - How many iterations to try to find the limit for
continuity and limits
ContinuousSFS - How many successive steps to be within tolerance for
calculation of continuity
ContinuousTolerance - Tolerance for continuity of functions and for
calculating the limit
DerivativeNumberOfTries - How many iterations to try to find the limit for
derivative
DerivativeSFS - How many successive steps to be within tolerance for
calculation of derivative
DerivativeTolerance - Tolerance for calculating the derivatives of functions
ErrorFunctionTolerance - Tolerance of the ErrorFunction (used for complex
values only)
FloatPrecision - Floating point precision
FullExpressions - Print full expressions, even if more than a line
GaussDistributionTolerance - Tolerance of the GaussDistribution function
IntegerOutputBase - Integer output base
IsPrimeMillerRabinReps - Number of extra Miller-Rabin tests to run on a
number before declaring it a prime in IsPrime
LinePlotDrawAxisLabels - If to draw axis labels on line plots.
LinePlotDrawLegends - If to draw legends or not on line plots.
LinePlotVariableNames - Default names used by all 2D plot functions. Should
be a 4 vector of strings or identifiers [x,y,z,t].
LinePlotWindow - Line plotting window (limits) as a 4-vector of the
form [x1,x2,y1,y2]
MaxDigits - Maximum digits to display
MaxErrors - Maximum errors to display
MixedFractions - If true, mixed fractions are printed
NumericalIntegralFunction - The function used for numerical integration in
NumericalIntegral
NumericalIntegralSteps - Steps to perform in NumericalIntegral
OutputChopExponent - Display 0.0 when floating point number is less than
10^-x (0=never chop)
OutputChopWhenExponent - Only chop numbers when another number is greater
than 10^-x
OutputStyle - Output style: normal, latex, mathml or troff
ResultsAsFloats - Convert all results to floats before printing
ScientificNotation - Use scientific notation
SlopefieldTicks - Number of slopefield ticks as a vector
[vertical,horizontal].
SumProductNumberOfTries - How many iterations to try for InfiniteSum and
InfiniteProduct
SumProductSFS - How many successive steps to be within tolerance for
InfiniteSum and InfiniteProduct
SumProductTolerance - Tolerance for InfiniteSum and InfiniteProduct
SurfacePlotDrawLegends - If to draw legends or not on surface plots.
SurfacePlotVariableNames - Default names used by surface plot functions.
Should be a 3 vector of strings or identifiers
[x,y,z] (where z=x+iy and not the dependent axis).
SurfacePlotWindow - Surface plotting window (limits) as a 6-vector of the
form [x1,x2,y1,y2,z1,z2]
VectorfieldNormalized - Normalize vectorfields if true. That is, only show
direction and not magnitude.
VectorfieldTicks - Number of vectorfield ticks as a vector
[vertical,horizontal].
Constants:
CatalanConstant - Catalan's Constant (0.915...)
EulerConstant,gamma - Euler's Constant gamma
GoldenRatio - The Golden Ratio
Gravity - Free fall acceleration
e - The natural number e
pi - The number pi
Numeric:
AbsoluteValue,abs - Absolute value
Chop - Replace very small number with zero
ComplexConjugate,conj,Conj - Calculates the conjugate
Denominator - Get the denominator of a rational number
FractionalPart - Return the fractional part of a number
Im,ImaginaryPart - Get the imaginary part of a complex number
IntegerQuotient - Division w/o remainder, equivalent to floor(a/b)
IsComplex - Check if argument is a complex (non-real) number
IsComplexRational - Check if argument is a possibly complex rational
number
IsFloat - Check if argument is a floating point number
(non-complex)
IsGaussInteger,IsComplexInteger - Check if argument is a possibly complex
integer
IsInteger - Check if argument is an integer (non-complex)
IsNonNegativeInteger - Check if argument is a non-negative real integer
IsPositiveInteger,IsNaturalNumber - Check if argument is a positive real
integer
IsRational - Check if argument is a rational number (non-complex)
IsReal - Check if argument is a real number
Numerator - Get the numerator of a rational number
Re,RealPart - Get the real part of a complex number
Sign,sign - Return the sign (-1,0,1)
ceil,Ceiling - Get the lowest integer more than or equal to n
exp - The exponential function
float - Make number a float
floor,Floor - Get the highest integer less than or equal to n
ln - The natural logarithm
log - Logarithm of any base (calls DiscreteLog if in modulo
mode), if base is not given, e is used
log10 - Logarithm of x base 10
log2,lg - Logarithm of x base 2
max,Max,Maximum - Returns the maximum of arguments or matrix
min,Min,Minimum - Returns the minimum of arguments or matrix
rand - Generate random float between 0 and 1, or if size
given generate vector or matrix of random floats
randint - Generate random integer between 0 and max-1 inclusive,
or if size given generate vector or matrix of random
integers
round,Round - Round a number
sqrt,SquareRoot - The square root
trunc,Truncate,IntegerPart - Truncate number to an integer (return the
integer part)
Trigonometry:
acos,arccos - The arccos (inverse cos) function
acosh,arccosh - The arccosh (inverse cosh) function
acot,arccot - The arccot (inverse cot) function
acoth,arccoth - The arccoth (inverse coth) function
acsc,arccsc - The inverse cosecant function
acsch,arccsch - The inverse hyperbolic cosecant function
asec,arcsec - The inverse secant function
asech,arcsech - The inverse hyperbolic secant function
asin,arcsin - The arcsin (inverse sin) function
asinh,arcsinh - The arcsinh (inverse sinh) function
atan,arctan - Calculates the arctan function
atan2,arctan2 - Calculates the arctan2 function (arctan(y/x) if x>0)
atanh,arctanh - The arctanh (inverse tanh) function
cos - Calculates the cosine function
cosh - Calculates the hyperbolic cosine function
cot - The cotangent function
coth - The hyperbolic cotangent function
csc - The cosecant function
csch - The hyperbolic cosecant function
sec - The secant function
sech - The hyperbolic secant function
sin - Calculates the sine function
sinh - Calculates the hyperbolic sine function
tan - Calculates the tan function
tanh - The hyperbolic tangent function
Number Theory:
AreRelativelyPrime - Are a and b relatively prime?
BernoulliNumber - Return the nth Bernoulli number
ChineseRemainder,CRT - Find the x that solves the system given by the vector
a and modulo the elements of m, using the Chinese
Remainder Theorem
CombineFactorizations - Given two factorizations, give the factorization of
the product, see Factorize
ConvertFromBase - Convert a vector of values indicating powers of b to a
number
ConvertToBase - Convert a number to a vector of powers for elements in
base b
DiscreteLog - Find discrete log of n base b in F_q where q is a
prime using the Silver-Pohlig-Hellman algorithm
Divides - Checks divisibility (if m divides n)
EulerPhi - Compute phi(n), the Euler phi function, that is the
number of integers between 1 and n relatively prime to
n
ExactDivision - Return n/d but only if d divides n else returns
garbage (this is faster than writing n/d)
Factorize - Return factorization of a number as a matrix
Factors - Return all factors of a number
FermatFactorization - Attempt Fermat factorization of n into (t-s)*(t+s),
returns t and s as a vector if possible, null
otherwise
FindPrimitiveElementMod - Find the first primitive element in F_q (q must be
a prime)
FindRandomPrimitiveElementMod - Find a random primitive element in F_q (q
must be a prime)
IndexCalculus - Compute discrete log base b of n in F_q (q a prime)
using the factor base S. S should be a column of
primes possibly with second column precalculated by
IndexCalculusPrecalculation.
IndexCalculusPrecalculation - Run the precalculation step of IndexCalculus
for logarithms base b in F_q (q a prime) for
the factor base S (where S is a column vector
of primes). The logs will be precalculated and
returned in the second column.
IsEven - Tests if an integer is even
IsMersennePrimeExponent - Test if Mp is a Mersenne prime using a table
IsNthPower - Tests if a rational number is a perfect power
IsOdd - Tests if an integer is odd
IsPerfectPower - Check a number for being any perfect power (a^b)
IsPerfectSquare - Check a number for being a perfect square
IsPrime - Tests primality of integers, for numbers greater than
25*10^9 false positive is with low probability
depending on IsPrimeMillerRabinReps
IsPrimitiveMod - Check if g is primitive in F_q, where q is a prime.
If q is not prime results are bogus.
IsPrimitiveModWithPrimeFactors - Check if g is primitive in F_q, where q is a
prime and f is a vector of prime factors of
q-1. If q is not prime results are bogus.
IsPseudoprime - If n is a pseudoprime base b but not a prime, that is
if b^(n-1) == 1 mod n
IsStrongPseudoprime - Test if n is a strong pseudoprime to base b but not a
prime
Jacobi,JacobiSymbol - Calculate the Jacobi symbol (a/b) (b should be odd)
JacobiKronecker,JacobiKroneckerSymbol - Calculate the Jacobi symbol (a/b)
with the Kronecker extension
(a/2)=(2/a) when a odd, or (a/2)=0
when a even
LeastAbsoluteResidue - Return the residue of a mod n with the least absolute
value (in the interval -n/2 to n/2)
Legendre,LegendreSymbol - Calculate the Legendre symbol (a/p)
LucasLehmer - Test if Mp is a Mersenne prime using the Lucas-Lehmer
test
LucasNumber - Returns the nth Lucas number
MaximalPrimePowerFactors - Return all maximal prime power factors of a number
MersennePrimeExponents - Vector with the known Mersenne prime exponents
MillerRabinTest - Use the Miller-Rabin primality test on n, reps number
of times. The probability of false positive is
(1/4)^reps
MillerRabinTestSure - Use the Miller-Rabin primality test on n with enough
bases that assuming the Generalized Riemann Hypothesis
the result is deterministic
ModInvert - Returns inverse of n mod m
MoebiusMu - Return the Moebius mu function evaluated in n
NextPrime - Returns the least prime greater than n (if n is
positive)
PadicValuation - Returns the p-adic valuation (number of trailing zeros
in base p).
PowerMod - Compute a^b mod m
Prime,prime - Return the nth prime (up to a limit)
PrimeFactors - Return all prime factors of a number
PseudoprimeTest - Pseudoprime test, true if and only if b^(n-1) == 1
(mod n)
RemoveFactor - Removes all instances of the factor m from the number
n
SilverPohligHellmanWithFactorization - Find discrete log of n base b in F_q
where q is a prime using the
Silver-Pohlig-Hellman algorithm, given
f being the factorization of q-1
SqrtModPrime - Find square root of n mod p (a prime). Null is
returned if not a quadratic residue.
StrongPseudoprimeTest - Run the strong pseudoprime test base b on n
gcd,GCD - Greatest common divisor
lcm,LCM - Least common multiplier
Matrix Manipulation:
AppendElement - Append an element to a vector (treating 1x1 matrix as
a row vector)
ApplyOverMatrix - Apply a function over all entries of a matrix and
return a matrix of the results
ApplyOverMatrix2 - Apply a function over all entries of 2 matrices (or 1
value and 1 matrix) and return a matrix of the results
ColumnsOf - Gets the columns of a matrix as a horizontal vector
ComplementSubmatrix - Remove column(s) and row(s) from a matrix
CompoundMatrix - Calculate the kth compound matrix of A
CountZeroColumns - Count the number of zero columns in a matrix
DeleteColumn - Delete a column of a matrix
DeleteRow - Delete a row of a matrix
DiagonalOf - Gets the diagonal entries of a matrix as a column
vector
DotProduct - Get the dot product of two vectors (no conjugates)
ExpandMatrix - Expands a matrix just like we do on unquoted matrix
input
HermitianProduct,InnerProduct - Get the Hermitian product of two vectors
I,eye - Make an identity matrix of a given size
IndexComplement - Return the index complement of a vector of indexes
IsDiagonal - Is a matrix diagonal
IsIdentity - Check if a number or a matrix is 1 or identity
respectively
IsLowerTriangular - Is a matrix lower triangular
IsMatrixInteger - Check if a matrix is an integer (non-complex) matrix
IsMatrixNonnegative - Check if a matrix is nonnegative, that is if each
element is nonnegative
IsMatrixPositive - Check if a matrix is positive, that is if each element
is positive
IsMatrixRational - Check if a matrix is a rational (non-complex) matrix
IsMatrixReal - Check if a matrix is a real (non-complex) matrix
IsMatrixSquare - Is a matrix square
IsUpperTriangular - Is a matrix upper triangular
IsValueOnly - Check if a matrix is a matrix of numbers
IsVector - Is argument a horizontal or a vertical vector
IsZero - Check if a number or a matrix is all zeros
LowerTriangular - Zero out entries above the diagonal
MakeDiagonal,diag - Make diagonal matrix from a vector
MakeRowVector - Make column vector out of matrix by putting rows after
each other
MakeVector,MakeColumnVector - Make column vector out of matrix by putting
columns above each other
MatrixProduct - Calculate the product of all elements in a matrix
MatrixSum - Calculate the sum of all elements in a matrix
MatrixSumSquares - Calculate the sum of squares of all elements in a
matrix
NonzeroColumns - Return a vector with the indices of the nonzero
columns in a matrix
NonzeroElements - Return a vector with the indices of the nonzero
elements in a vector
OuterProduct - Get the outer product of two vectors
ReverseVector - Reverse elements in a vector
RowSum - Calculate sum of each row in a matrix
RowSumSquares - Calculate sum of squares of each row in a matrix
RowsOf - Gets the rows of a matrix as a vertical vector
SetMatrixSize - Make new matrix of given size from old one
ShuffleVector - Shuffle elements in a vector
SortVector - Sort vector elements
StripZeroColumns - Removes any all-zero columns of M
StripZeroRows - Removes any all-zero rows of M
Submatrix - Return column(s) and row(s) from a matrix
SwapRows - Swap two rows in a matrix
UpperTriangular - Zero out entries below the diagonal
columns - Get the number of columns of a matrix
elements - Get the number of elements of a matrix
ones - Make an matrix of all ones (or a row vector)
rows - Get the number of rows of a matrix
zeros - Make an matrix of all zeros (or a row vector)
Linear Algebra:
AuxiliaryUnitMatrix - Get the auxiliary unit matrix of size n
BilinearForm - Evaluate (v,w) with respect to the bilinear form given
by the matrix A
BilinearFormFunction - Return a function that evaluates two vectors with
respect to the bilinear form given by A
CharacteristicPolynomial,CharPoly - Get the characteristic polynomial as a
vector
CharacteristicPolynomialFunction - Get the characteristic polynomial as a
function
ColumnSpace - Get a basis matrix for the columnspace of a matrix
CommutationMatrix - Return the commutation matrix K(m,n) which is the
unique m*n by m*n matrix such that K(m,n) *
MakeVector(A) = MakeVector(A.') for all m by n
matrices A.
CompanionMatrix - Companion matrix of a polynomial (as vector)
ConjugateTranspose - Conjugate transpose of a matrix (adjoint)
Convolution,convol - Calculate convolution of two horizontal vectors
ConvolutionVector - Calculate convolution of two horizontal vectors
CrossProduct - CrossProduct of two vectors in R^3
DeterminantalDivisorsInteger - Get the determinantal divisors of an integer
matrix
DirectSum - Direct sum of matrices
DirectSumMatrixVector - Direct sum of a vector of matrices
Eigenvalues,eig - Get the eigenvalues of a matrix (Currently only for up
to 4x4 or triangular matrices)
Eigenvectors - Get the eigenvalues and eigenvectors of a matrix
(Currently only for up to 2x2 matrices)
GramSchmidt - Apply the Gram-Schmidt process (to the columns) with
respect to inner product given by B (if not given use
Hermitian product)
HankelMatrix - Hankel matrix
HilbertMatrix - Hilbert matrix of order n
Image - Get the image (columnspace) of a linear transform
InfNorm - Get the Inf Norm of a vector
InvariantFactorsInteger - Get the invariant factors of a square integer
matrix
InverseHilbertMatrix - Inverse Hilbert matrix of order n
IsHermitian - Is a matrix Hermitian
IsInSubspace - Test if a vector is in a subspace
IsInvertible - Is a matrix (or number) invertible (Integer matrix is
invertible if and only if it is invertible over the
integers)
IsInvertibleField - Is a matrix (or number) invertible over a field
IsNormal - Is a matrix normal
IsPositiveDefinite - Is a matrix positive definite
IsPositiveSemidefinite - Is a matrix positive semidefinite
IsSkewHermitian - Is a matrix skew-Hermitian
IsUnitary - Is a matrix unitary
JordanBlock,J - Get the Jordan block corresponding to lambda and n
Kernel - Get the kernel (nullspace) of a linear transform
KroneckerProduct,TensorProduct - Compute the Kronecker product of two
matrices
LUDecomposition - Get the LU decomposition of A and store the result in
the L and U which should be references. If not
possible returns false.
Minor - Get the i-j minor of a matrix
NonPivotColumns - Return the columns that are not the pivot columns of a
matrix
Norm,norm - Get the p Norm (or 2 Norm if no p is supplied) of a
vector
NullSpace - Get the nullspace of a matrix
Nullity,nullity - Get the nullity of a matrix
OrthogonalComplement - Get the orthogonal complement of the columnspace
PivotColumns - Return pivot columns of a matrix, that is columns
which have a leading 1 in rref form, also returns the
row where they occur
Projection - Projection of vector v onto subspace W given a
sesquilinear form B (if not given use Hermitian
product)
QRDecomposition - Get the QR decomposition of A, returns R and Q can be
a reference
Rank,rank - Get the rank of a matrix
RayleighQuotient - Return the Rayleigh quotient of a matrix and a vector
RayleighQuotientIteration - Compute an eigenvalue using the Rayleigh Quotient
Iteration method until we are epsilon from
eigenvalue or for maxiter iterations
RosserMatrix - Rosser matrix, a classic symmetric eigenvalue test
problem
Rotation2D,RotationMatrix - Rotation around origin in R^2
Rotation3DX - Rotation around origin in R^3 about the x-axis
Rotation3DY - Rotation around origin in R^3 about the y-axis
Rotation3DZ - Rotation around origin in R^3 about the z-axis
RowSpace - Get a basis matrix for the rowspace of a matrix
SesquilinearForm - Evaluate (v,w) with respect to the sesquilinear form
given by the matrix A
SesquilinearFormFunction - Return a function that evaluates two vectors with
respect to the sesquilinear form given by A
SmithNormalFormField - Smith Normal Form for fields (will end up with 1's on
the diagonal)
SmithNormalFormInteger - Smith Normal Form for square integer matrices
SolveLinearSystem - Solve linear system Mx=V, return solution V if there
is a unique solution, null otherwise. Extra two
reference parameters can optionally be used to get the
reduced M and V.
ToeplitzMatrix - Return the Toeplitz matrix constructed given the first
column c and (optionally) the first row r.
Trace,trace - Calculate the trace of a matrix
Transpose - Transpose of a matrix
VandermondeMatrix,vander - Return the Vandermonde matrix
VectorAngle - The angle of two vectors, given an inner product
VectorSpaceDirectSum - The direct sum of the vector spaces M and N
VectorSubspaceIntersection - Intersection of the subspaces given by M and N
VectorSubspaceSum - The sum of the vector spaces M and N, that is {w |
w=m+n, m in M, n in N}
adj,Adjugate - Get the classical adjoint (adjugate) of a matrix
cref,CREF,ColumnReducedEchelonForm - Compute the Column Reduced Echelon Form
det,Determinant - Get the determinant of a matrix
ref,REF,RowEchelonForm - Get the row echelon form of a matrix
rref,RREF,ReducedRowEchelonForm - Get the reduced row echelon form of a
matrix
Combinatorics:
Catalan - Get nth Catalan number
Combinations - Get all combinations of k numbers from 1 to n as a
vector of vectors
DoubleFactorial - Double factorial: n(n-2)(n-4)...
Factorial - Factorial: n(n-1)(n-2)...
FallingFactorial - Falling factorial: (n)_k = n(n-1)...(n-(k-1))
Fibonacci,fib - Calculate nth Fibonacci number
FrobeniusNumber - Calculate the Frobenius number for a coin problem
GaloisMatrix - Galois matrix given a linear combining rule
(a_1*x_1+...+a_n*x_n=x_(n+1))
GreedyAlgorithm - Use greedy algorithm to find c, for c . v = n. (v
must be sorted)
HarmonicNumber,HarmonicH - Harmonic Number, the nth harmonic number of order
r
Hofstadter - Hofstadter's function q(n) defined by q(1)=1, q(2)=1,
q(n)=q(n-q(n-1))+q(n-q(n-2))
LinearRecursiveSequence - Compute linear recursive sequence using Galois
stepping
Multinomial - Calculate multinomial coefficients
NextCombination - Get combination that would come after v in call to
combinations, first combination should be [1:k].
Pascal - Get the Pascal's triangle as a matrix
Permutations - Get all permutations of k numbers from 1 to n as a
vector of vectors
RisingFactorial,Pochhammer - (Pochhammer) Rising factorial: (n)_k =
n(n+1)...(n+(k-1))
StirlingNumberFirst,StirlingS1 - Stirling number of the first kind
StirlingNumberSecond,StirlingS2 - Stirling number of the second kind
Subfactorial - Subfactorial: n! times sum_{k=0}^n (-1)^k/k!
Triangular - Calculate the nth triangular number
nCr,Binomial - Calculate combinations (binomial coefficient)
nPr - Calculate permutations
Calculus:
CompositeSimpsonsRule - Integration of f by Composite Simpson's Rule on the
interval [a,b] with n subintervals with error of
max(f'''')*h^4*(b-a)/180, note that n should be even
CompositeSimpsonsRuleTolerance - Integration of f by Composite Simpson's Rule
on the interval [a,b] with the number of
steps calculated by the fourth derivative
bound and the desired tolerance
Derivative - Attempt to calculate derivative by trying first
symbolically and then numerically
EvenPeriodicExtension - Return a function which is the even periodic
extension of f defined on the interval [0,L]
FourierSeriesFunction - Return a function which is a Fourier series with the
coefficients given by the vectors a (sines) and b
(cosines). Note that a@(1) is the constant
coefficient!
InfiniteProduct - Try to calculate an infinite product for a single
parameter function
InfiniteProduct2 - Try to calculate an infinite product for a double
parameter function with func(arg,n)
InfiniteSum - Try to calculate an infinite sum for a single
parameter function
InfiniteSum2 - Try to calculate an infinite sum for a double
parameter function with func(arg,n)
IsContinuous - Try and see if a real-valued function is continuous at
x0 by calculating the limit there
IsDifferentiable - Test for differentiability by approximating the left
and right limits and comparing
LeftLimit - Calculate the left limit of a real-valued function at
x0
Limit - Calculate the limit of a real-valued function at x0.
Tries to calculate both left and right limits.
MidpointRule - Integration by midpoint rule
NumericalDerivative,NDerivative - Attempt to calculate numerical derivative
NumericalFourierCosineSeriesCoefficients - Numerically compute the
coefficients for a cosine Fourier
series for a function on [0,L] up
to the Nth coefficient.
NumericalFourierCosineSeriesFunction - Return a function which is the Fourier
cosine series of f on [0,L] with
coefficients up to N computed
numerically
NumericalFourierSeriesCoefficients - Numerically compute the coefficients for
a Fourier series with half-period L up
to the Nth coefficient.
NumericalFourierSeriesFunction - Return a function which is the Fourier
series of f with half-period L with
coefficients up to N computed numerically
NumericalFourierSineSeriesCoefficients - Numerically compute the coefficients
for a sine Fourier series for a
function on [0,L] up to the Nth
coefficient.
NumericalFourierSineSeriesFunction - Return a function which is the Fourier
sine series of f on [0,L] with
coefficients up to N computed
numerically
NumericalIntegral - Integration by rule set in NumericalIntegralFunction
of f from a to b using NumericalIntegralSteps steps
NumericalLeftDerivative - Attempt to calculate numerical left derivative
NumericalLimitAtInfinity - Attempt to calculate the limit of f(step_fun(i))
as i goes from 1 to N
NumericalRightDerivative - Attempt to calculate numerical right derivative
OddPeriodicExtension - Return a function which is the odd periodic extension
of f defined on the interval [0,L]
OneSidedFivePointFormula - Compute one-sided derivative using five point
formula
OneSidedThreePointFormula - Compute one-sided derivative using three-point
formula
PeriodicExtension - Return a function which is the periodic extension of f
defined on the interval [a,b]
RightLimit - Calculate the right limit of a real-valued function at
x0
TwoSidedFivePointFormula - Compute two-sided derivative using five-point
formula
TwoSidedThreePointFormula - Compute two-sided derivative using three-point
formula
Functions:
Argument,Arg,arg - argument (angle) of complex number
BesselJ0 - The Bessel function of first kind of order 0
BesselJ1 - The Bessel function of first kind of order 1
BesselJn - The Bessel function of first kind of order n
BesselY0 - The Bessel function of second kind of order 0
BesselY1 - The Bessel function of second kind of order 1
BesselYn - The Bessel function of second kind of integer order n
DirichletKernel - Dirichlet kernel of order n
DiscreteDelta - Returns 1 if and only if all elements are zero
ErrorFunction,erf - The error function, 2/sqrt(pi) * int_0^x e^(-t^2) dt
FejerKernel - Fejer kernel of order n
GammaFunction,Gamma - The Gamma function (only real values implemented)
KroneckerDelta - Returns 1 if and only if all elements are equal
LambertW - Principal branch of the Lambert W function for real
values greater than or equal to -1/e
LambertWm1 - The minus-one branch of the Lambert W function for
real values between -1/e and 0
MinimizeFunction - Find the first value where f(x)=0
MoebiusDiskMapping - Moebius mapping of the disk to itself mapping a to 0
MoebiusMapping - Moebius mapping using the cross ratio taking z2,z3,z4
to 1,0, and infinity respectively
MoebiusMappingInftyToInfty - Moebius mapping using the cross ratio taking
infinity to infinity and z2,z3 to 1 and 0
respectively
MoebiusMappingInftyToOne - Moebius mapping using the cross ratio taking
infinity to 1 and z3,z4 to 0 and infinity
respectively
MoebiusMappingInftyToZero - Moebius mapping using the cross ratio taking
infinity to 0 and z2,z4 to 1 and infinity
respectively
PoissonKernel - Poisson kernel on D(0,1) (not normalized to 1, that is
integral of this is 2pi)
PoissonKernelRadius - Poisson kernel on D(0,R) (not normalized to 1)
RiemannZeta,zeta - The Riemann zeta function (only real values
implemented)
UnitStep - The unit step function = 0 for x<0, 1 otherwise. This
is the integral of the Dirac Delta function.
cis - The cis function, that is cos(x)+i*sin(x)
deg2rad - Convert degrees to radians
rad2deg - Convert radians to degrees
sinc - Calculates the sinc function, that is sin(x)/x
Equation Solving:
CubicFormula - Find roots of a cubic polynomial (given as vector of
coefficients)
EulersMethod - Use classical Euler's method to numerically solve
y'=f(x,y) for initial x0,y0 going to x1 with n
increments, returns y at x1
EulersMethodFull - Use classical Euler's method to numerically solve
y'=f(x,y) for initial x0,y0 going to x1 with n
increments, returns an n+1 by 2 matrix of values
FindRootBisection - Find root of a function using the bisection method to
within TOL tolerance in up to N iterations. f(a) and
f(b) must have opposite signs.
FindRootFalsePosition - Find root of a function using the method of false
position to within TOL tolerance in up to N
iterations. f(a) and f(b) must have opposite signs.
FindRootMullersMethod - Find root of a function using the Muller's method
FindRootSecant - Find root of a function using the secant method to
within TOL tolerance in up to N iterations. f(a) and
f(b) must have opposite signs.
HalleysMethod - Attempt to find a zero of a function f with derivative
df and second derivative ddf using Halley's method,
returning after two successive values are within
epsilon or after maxn tries (then returns null)
NewtonsMethod - Attempt to find a zero of a function f with derivative
df using Newton's method, returning after two
successive values are within epsilon or after maxn
tries (then returns null)
PolynomialRoots - Find roots of a polynomial (given as vector of
coefficients)
QuadraticFormula - Find roots of a quadratic polynomial (given as vector
of coefficients)
QuarticFormula - Find roots of a quartic polynomial (given as vector of
coefficients)
RungeKutta - Use classical non-adaptive Runge-Kutta of fourth order
method to numerically solve y'=f(x,y) for initial
x0,y0 going to x1 with n increments, returns y at x1
RungeKuttaFull - Use classical non-adaptive Runge-Kutta of fourth order
method to numerically solve y'=f(x,y) for initial
x0,y0 going to x1 with n increments, returns an n+1 by
2 matrix of values
Statistics:
Average,average,Mean,mean - Calculate average of an entire matrix
GaussDistribution - Integral of the GaussFunction from 0 to x (area under
the normal curve)
GaussFunction - The normalized Gauss distribution function (the normal
curve)
Median,median - Calculate median of an entire matrix
PopulationStandardDeviation,stdevp - Calculate the population standard
deviation of a whole matrix
RowAverage,RowMean - Calculate average of each row in a matrix
RowMedian - Calculate median of each row in a matrix
RowPopulationStandardDeviation,rowstdevp - Calculate the population standard
deviations of rows of a matrix and
return a vertical vector
RowStandardDeviation,rowstdev - Calculate the standard deviations of rows of
a matrix and return a vertical vector
StandardDeviation,stdev - Calculate the standard deviation of a whole matrix
Polynomials:
AddPoly - Add two polynomials (vectors)
DividePoly - Divide polynomial p by q, return the remainder in r
IsPoly - Check if a vector is usable as a polynomial
MultiplyPoly - Multiply two polynomials (as vectors)
NewtonsMethodPoly - Attempt to find a root of a polynomial using Newton's
method, returning after two successive values are
within epsilon or after maxn tries (then returns null)
Poly2ndDerivative - Take second polynomial (as vector) derivative
PolyDerivative - Take polynomial (as vector) derivative
PolyToFunction - Make function out of a polynomial (as vector)
PolyToString - Make string out of a polynomial (as vector)
SubtractPoly - Subtract two polynomials (as vectors)
TrimPoly - Trim zeros from a vector pretending to be a
polynomial, that is trim trailing zero elements
Set Theory:
Intersection - Returns a set theoretic intersection of X and Y (X and
Y are vectors pretending to be sets)
IsIn - Returns true if the element x is in the set X (where X
is a vector pretending to be a set)
IsSubset - Returns true if X is a subset of Y
MakeSet - Returns a set where every element of X appears only
once
SetMinus - Returns a set theoretic difference X-Y (X and Y are
vectors pretending to be sets)
Union - Returns a set theoretic union of X and Y (X and Y are
vectors pretending to be sets)
Commutative Algebra:
MacaulayBound - For a Hilbert function that is c for degree d, given
the Macaulay bound for the Hilbert function of degree
d+1 (The c^ operator from Green's proof)
MacaulayLowerOperator - The c_ operator from Green's proof of Macaulay's
Theorem
MacaulayRep - Return the dth Macaulay representation of a positive
integer c
Miscellaneous:
ASCIIToString - Convert a vector of ASCII values to a string
AlphabetToString - Convert a vector of 0-based alphabet values (positions
in the alphabet string) to a string
StringToASCII - Convert a string to a vector of ASCII values
StringToAlphabet - Convert a string to a vector of 0-based alphabet
values (positions in the alphabet string), -1's for
unknown letters
Symbolic Operations:
SymbolicDerivative - Attempt to symbolically differentiate the function f,
where f is a function of one variable.
SymbolicDerivativeTry - Attempt to symbolically differentiate the function f,
where f is a function of one variable, returns null
if unsuccessful but is silent.
SymbolicNthDerivative - Attempt to symbolically differentiate a function n
times
SymbolicNthDerivativeTry - Attempt to symbolically differentiate a function n
times quietly and return null on failure
SymbolicTaylorApproximationFunction - Attempt to construct the Taylor
approximation function around x0 to the
nth degree.
Plotting:
ExportPlot - Export the current contents of the plot canvas to a
file. The file type is given by the string type,
which can be "png", "eps", or "ps".
LinePlot - Plot a function with a line. First come the functions
(up to 10) then optionally limits as x1,x2,y1,y2
LinePlotCParametric - Plot a parametric complex valued function with a line.
First comes the function that returns x+iy then
optionally the t limits as t1,t2,tinc, then optionally
the limits as x1,x2,y1,y2
LinePlotClear - Show the line plot window and clear out functions
LinePlotDrawLine - Draw a line from x1,y1 to x2,y2. x1,y1,x2,y2 can be
replaced by a n by 2 matrix for a longer line.
LinePlotDrawPoints - Draw a point at x,y. x,y can be replaced by a n by 2
matrix for more points.
LinePlotMouseLocation - Return current mouse location on the line plot
window.
LinePlotParametric - Plot a parametric function with a line. First come
the functions for x and y then optionally the t limits
as t1,t2,tinc, then optionally the limits as
x1,x2,y1,y2
LinePlotWaitForClick - Wait for a click on the line plot window, return the
location.
PlotCanvasFreeze - Freeze the plot canvas, that is, inhibit drawing
PlotCanvasThaw - Thaw the plot canvas and redraw the plot immediately
PlotWindowPresent - Raise the plot window, and create the window if
necessary
SlopefieldClearSolutions - Clear all the slopefield solutions
SlopefieldDrawSolution - Draw a solution for a slope field starting at x,y
and using dx as increment
SlopefieldPlot - Draw a slope field. First comes the function dy/dx in
terms of x and y (or a complex z) then optionally the
limits as x1,x2,y1,y2
SurfacePlot - Plot a surface function which takes either two
arguments or a complex number. First comes the
function then optionally limits as x1,x2,y1,y2,z1,z2
SurfacePlotClear - Show the surface (3d) plot window and clear out
functions
SurfacePlotData - Plot surface data given as n by 3 matrix (n>=3) of
data with each row being x,y,z. Optionally can pass a
label string and limits. If no limits passed, limits
computed from data.
SurfacePlotDataGrid - Plot surface data given as a matrix (where rows are
the x coordinate and columns are the y coordinate),
the limits are given as [x1,x2,y1,y2] or optionally
[x1,x2,y1,y2,z1,z2], and optionally a string for the
label.
SurfacePlotDrawLine - Draw a line from x1,y1,z1 to x2,y2,z2 on the surface
(3d) plot. x1,y1,z1,x2,y2,z2 can be replaced by a n
by 3 matrix for a longer line
SurfacePlotDrawPoints - Draw a point at x,y,z on the surface (3d) plot.
x,y,z can be replaced by a n by 3 matrix for more
points.
VectorfieldClearSolutions - Clear all the vectorfield solutions
VectorfieldDrawSolution - Draw a solution for a vector field starting at x,y,
using dt as increment for tlen units
VectorfieldPlot - Draw a vector field. First come the functions dx/dt
and dy/dt in terms of x and y then optionally the
limits as x1,x2,y1,y2
genius>