Package com.singularsys.extensions.djep
Class DVariable
java.lang.Object
com.singularsys.jep.Variable
com.singularsys.extensions.xjep.XVariable
com.singularsys.extensions.djep.DVariable
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
PartialDerivative
Holds all info about a variable.
Has a name, an equation, a dimension (or sent of dimensions if matrix or tensor)
and also a set of
PartialDerivative.
The derivatives are stored in a hashtable index by
the sorted names of derivatives.
i.e. d^2f/dxdy, and d^2f/dydx will both be indexed by {"x","y"}.
df/dx is indexed by {"x"}, d^2f/dx^2 is index by {"x","x"}.
Partial derivatives are calculated as required by the
findDerivative method.- Author:
- Rich Morris Created on 26-Oct-2003
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionEnumerate all the derivatives of this variable.protected PartialDerivativecalculateDerivative(String[] derivnames, DJep jep) calculate a derivative.protected PartialDerivativecreateDerivative(String[] derivnames, Node eqn) booleangetDerivative(String... names) Gets the partial derivativesdf^k/da db dcvoidmakes value and values of all derivatives invalid.static StringmakeDerivString(String rootname, String[] dnames) Produces a string to represent the derivative.voidsetEquation(Node eqn) sets the equationtoString(PrintVisitor bpv) Returns a string rep of variable with its equation and value.Methods inherited from class com.singularsys.extensions.xjep.XVariable
calcValue, getEquation, hasEquation, toStringMethods inherited from class com.singularsys.jep.Variable
copyPropertiesFrom, getHook, getName, getValue, hasValidValue, hookKeys, isConstant, removeHook, setHook, setIsConstant, setValidValue, setValue, setValueRaw
-
Field Details
-
derivatives
-
-
Constructor Details
-
DVariable
The constructor is package private. Variables should be created using the VariableTable.find(Sting name) method. -
DVariable
-
-
Method Details
-
createDerivative
-
setEquation
sets the equation- Overrides:
setEquationin classXVariable
-
invalidateAll
public void invalidateAll()makes value and values of all derivatives invalid. -
makeDerivString
Produces a string to represent the derivative. The string will be of the form "dx^2/dxdy". This string is used to index the derivatives of a variable.- Parameters:
rootname- name of the variable we are calculating the derivative of.dnames- An array of the names of each of the partial derivatives.- Returns:
- the string representation
-
getDerivative
Gets the partial derivativesdf^k/da db dc- Parameters:
names- the names of the derivatives in any order- Returns:
- the derivative
-
calculateDerivative
protected PartialDerivative calculateDerivative(String[] derivnames, DJep jep) throws ParseException calculate a derivative. Either by differentiation of one of the existing derivatives, or by differentiation of the equation of this variable. The method is protected, subclasses can override the methods where some other means of calculating the derivative is needed.- Throws:
ParseException
-
toString
Description copied from class:XVariableReturns a string rep of variable with its equation and value. -
allDerivatives
Enumerate all the derivatives of this variable.- Returns:
- an Enumeration running through all the derivatives.
-
derivativeIsTriviallyZero
public boolean derivativeIsTriviallyZero()
-