All Classes and Interfaces
Class
Description
Represents a abelian (commutative) group.
Default methods, when more specific methods do not work.
Basic implementation for a RewriteRule.
Addition function.
Differentiates a addition with respect to var.
An Algebraic Extension of a Ring.
An element of the algrabraic extension K(t).
The acos function.
Implements the arcCosH function.
Implements the arcSinH function.
atan2(y, x) Returns the angle whose tangent is y/x.
Implements the arcTanH function.
Argument of a complex number
A postfix MathCommand which facilitates the getting and setting of vector and matrix elements.
An assignment operator so we can do
x=3+4.
Examples using assignment
Constant Node
Function Node
Holds a single constant number.
Start Node
Variable Node
A Number format object which prints results in a specified base.
The field of Reals represented by BigDecimals.
A matrix enabled binary operator.
Binomial coeficients: binom(n,i).
Example code illustrating how block control structures could be implemented.
Functions which require greater control over their evaluation should implement this interface.
Common methods used when the rules are specified by node trees or strings.
Collect powers together so that x*x -> x^2 and x^n*x -> x^(n+1).
Executes commands like diff and eval embedded in expression trees.
Interface defining the special actions performed during the preprocess
stage.
Implements the comparative operations <, >, ≤, ≥, != and ==.
Represents a complex number with double precision real and imaginary
components.
Converts a pair of real numbers to a complex number Complex(x,y)=x+i y.
The complex conjugate of a number conj(c)
This class implements a simple command line utility for evaluating
mathematical expressions.
A Visitor which returns an exact copy of the tree.
Allows functions to be defined in equations.
Calculate the Determinant of a matrix
det([[1,2],[3,4]]) -> 1*4-2*3 = -2
Creates a diagonal matrix, with a given vector as diagonals elements.
The diff(f,x) operator.
A class for performing differentiation of an expression.
Examples using differentation
Holds a set of rules describing how to differentiate a function.
A class to represent a set of dimensions.
Differentiates a division with respect to var.
Adds differentation facilities to JEP.
This class implements a simple command line utility for evaluating
mathematical expressions.
A Visitor which visits each node of a expression tree.
Default class for creating number objects.
An extension of PrintVisitor which will print the equations of a variable if required.
A SymbolTable which works with partial derivatives of variables.
Holds all info about a variable.
A VariableFactory which can work with PartialDerivatives.
Function which allows array access using the a[3] notation on left and right hand side.
Multiplies any number of Vectors or Matrices element by element.
Multiplies any number of Vectors or Matrices element by element.
Multiplies any number of Vectors or Matricies element by element.
An abstract ParserVisitor
which adds some useful error handling facilities.
Symbolic eval(x^3,x,2) operator.
This applet is an simple example for how JEP can be used to evaluate
expressions.
This class is used for the evaluation of an expression.
The exp function.
An extended version of a Free Group, limited support for powers and division.
An overloaded operator, either cross product or power.
Represents a field.
This class performs the drawing of the fractal.
A free group generated by a symbol t.
An element of a free group with one generator.
This applet is a demonstration of the possible applications of the JEP
mathematical expression parser.
Add function for use with arbitary groups.
Implements logical operations on a group.
Divide function for use with arbitary groups.
Generate vectors and matrices.
Extracts diagonal from a square matrix.
List function for use with arbitary groups.
Implements logical operators for a group.
Modulus operator for group.
Multiplication operator for a group.
Not function for use with arbitary groups.
The set of operators used in the parser.
Power operator for a group.
This class plots a graph using the JEP API.
Base abstract class for all groups.
Console application with handling for abstract groups
Represents a group with an identity, and addition operator.
An extension of JEP which allows calculations over arbitary groups,
such as the integers(exact answers) and rationals.
Subtract operator for a group.
Unitary division for a group.
Group elements which have a natural conversion to complex numbers.
An IntergralDomainI which also has a notion of division,
which is not necessarily closed i.e.
Group implements a List function [a,b,c].
Group has a mod operator a % b.
Group has a power operator a ^ b.
Creates an identity matrix.
The if(condExpr,posExpr,negExpr) function.
The group of integers, implemented as a BigInteger.
A RingI which has a multiplicative indentity.
Find the inverses of a matrix.
has support for Jama matrix operations
Utility functions for adding Jama matrix functions.
An implementation of interface CharStream, where the stream is assumed to
contain only ASCII characters (with java-like unicode escape processing).
The JEP class is the main interface with which the user should
interact.
This example tests how the evaluation time is influenced by the size of the
expression and symbol table.
Returns the length of a vector.
The list function.
Log bass 10.
Rules are specfied by a set of strings or trees of nodes.
A function specified by a string.
If your really lazy, you don't even need to workout the derivatives
of a function defined by a macro yourself.
An extension of the Add command to allow it to add MVector's and Matrix's.
A matrix enabled assignment function.
Represents a matrix.
This visitor evaluates a the tree representing the equation.
Examples using vectors and matricies
An extension of JEP which allows advanced vector and matrix handling and differentation.
This class is used to create nodes of specified types.
The set of operators used in matricies.
Contains information about a PartialDerivative of a variable.
This visitor does the majority of preprocessing work.
If a function requires a special form of evaluation it should
implement this interface.
Compares the speed of matrix operations
using both VectorJep or MatrixJep.
Interface defining methods needed to work with vectors and matricies.
Holds all info about a variable.
Allows creation of matrix aware variables.
Matrix aware variables should implement this interface.
A max function Max(x^2,x,1,10) finds the max of x^2 with x running from 1 to 10.
An extension of the Multiply to with vectors and matricies.
The MDot operator.
The if(condExpr,posExpr,negExpr) function.
A min function Min(x^2,x,1,10) finds the min of x^2 with x running from 1 to 10.
A enhanced version of list, allows matrices and tensors.
An extension of the Multiply to with vectors and matricies.
Represents an imutable monomial a x^i * y^j * ...
An overloaded Power function compatible with MatrixJep.
A list of commands evaluated in sequence by the evaluator.
A Console application illustrating the use of the RPE evaluator.
An example of using MRpEval with differentation.
A fast evaluation algorithm for equations using Vectors and Matrix over the Doubles.
Examples using fast reverse polish calculator with vectors and matrices
The base type for values returned by evaluate.
Compares the speed of matrix operations
using mrpe, vectorJep and matrixJep.
An extension of the Add command to allow it to add MVector's and Matrix's.
Diffrentiates a product with respect to var.
Unitary minus for matrices.
A mutable monomial representing a * x^i * y^j * ...
A mutable polynomial representing a + b + c.
A Vector of elements.
A matrix enabled operator with N arguments.
Natural logarithm.
This class is used to create nodes of specified types.
This interface can be implemented to create numbers of any object type.
A class containing information about an operator.
The standard set of operators used in JEP.
Groups which have a total ordering, i.e <, >= make sense.
This exception is thrown when parse errors are encountered.
Contains infomation about a PartialDerivative of a variable.
Rules like Sum where diff(sum(a,b,c),x) -> sum(da/dx,db/dx,dc/dx) are instance of this class.
Represents a constant.
The group of permutations.
Represents a function.
An element in a polynomial representation of an expression.
Converts a pair of real numbers to a complex number Complex(x,y)=x+i y.
The ring of polynomials over a ring R.
Represents a polynomial.
Main entry point for simplification routines.
Constructs a polynomial from a JEP equation.
Represents an operator.
Function classes extend this class.
All function classes must implement this interface to ensure that the run()
method is implemented.
Computes the power of an number.
Diffrentiates a power with respect to var.
Prints an expression.
This interface specifies the method needed to implement a special print rule.
A product function product(x^2,x,1,10) finds the product of x^2 with x running from 1 to 10.
Represents a variable.
Possibly the Quaternions, completely untested.
Encapsulates the Math.random() function.
The list function.
Find the rank of a matrix.
A Rational number with full precision.
The Field of rational numbers.
A representation of the Reals where elements are represented as Doubles.
Simplifies an expression.
Defines the operations on a ring, i.e.
Data type for the command string
A list of commands
A Console application illustrating the use of the RPE evaluator.
A fast evaluation algorithm for equations over Doubles, does not work with vectors or matricies.
Examples using vectors and matricies
Compares the speed of evaluation between normal jep, rpe, and occasionally java.
Degenerate i.e.
An implementation of interface CharStream, where the stream is assumed to
contain only ASCII characters (without unicode processing).
A seven line program for testing whether the JEP library can be found
by the compiler and at run-time.
Upon successful compilation and running of the program, the program should print out one line: "1+2 = 3.0"
Upon successful compilation and running of the program, the program should print out one line: "1+2 = 3.0"
Simplifies an expression.
The Simpson rule for approximation to a definite integral.
Returns the size of an Scaler, Vector or Matrix.
z = solve(x,y) solves x*z = y where x,y,z are real matricies.
Deprecated.
The interface CallbackEvaluationI should generally be used instead as its simpler and allows different evaluation schemes to be used.
Applies a special preprocessing step for a function or operator.
Converts an object into its string representation.
Allows substitution of a given variable with an expression tree.
Diffrentiates a subtaction with respect to var.
A sum function Sum(x^2,x,1,10) finds the sum of x^2 with x running from 1 to 10.
This class serves mainly as an example of a function that accepts any number
of parameters.
Base class for functions like Sum(x^2,x,1,10) which finds the sum of x^2 with x running from 1 to 10.
A Hashtable which holds a list of all variables.
Represents tensor (generalisation of Matrix/Vector).
This class tests the thread safety of the JEP package with a brute force
approach.
The ThreadTestThread waits for 5 seconds before calling the evaluate method
of the ThreadTest instance.
Convert a number to a string in a given base.
Describes the input token stream.
Calculate the trace of a matrix
trace([[1,2],[3,4]]) -> 1+4 = 5
Transpose a matrix.
The trapezium rule for approximation to a definite integral.
A set of Utility functions for working with JEP expression trees.
A matrix enabled unary operator.
Information about a variable.
A factory class which is used to create variables.
Examples using vectors and matricies
An extension of JEP with support for basic vectors and matrices.
Examples using vectors and matrices
ele(x,i) returns the i-th element of a vector x.
A enhanced version of List, allows matrices and tensors.
evaluates a function on every element of a vector or matrix.
An overloaded power function, if both arguments are vectors returns
the exteriour product, else return standard power.
A enhanced version of List, allows matrices and tensors.
Adds the elements of a vector or matrix.
An assignment operator so we can do
x=3+4.
This class is used for the evaluation of an expression.
An extended version of JEP adds various routines for working with trees.
Examples using differentation
An Operator with additional information about its commutativity etc.
An OperatorSet where the operators have information about their commutativity etc.
An extension of the symbol table with a few new features.
Variables which have their equations stored.
A VariableFactory which creates XVariables (which have equations).
The group of integers mod n.