org.lsmp.djep.djep
Class DJep

java.lang.Object
  extended byorg.nfunk.jep.JEP
      extended byorg.lsmp.djep.xjep.XJep
          extended byorg.lsmp.djep.djep.DJep
Direct Known Subclasses:
MatrixJep

public class DJep
extends XJep

Adds differentation facilities to JEP. For example

 DJep j = new DJep();
 j.addStandardDiffRules();
 ....
 Node node = j.parse("x^3");
 Node diff = j.differentiate(node,"x");
 Node simp = j.simplify(diff);
 j.println(simp);
 Node node2 = j.parse("diff(x^4,x)");
 Node proc = j.preprocess(node2);
 Node simp2 = j.simplify(proc);
 j.println(simp2);
 

Author:
Rich Morris Created on 16-Nov-2003

Field Summary
protected  DifferentiationVisitor dv
           
 
Fields inherited from class org.lsmp.djep.xjep.XJep
commandv, copier, nf, pv, simpv, subv, tu
 
Fields inherited from class org.nfunk.jep.JEP
allowAssignment, allowUndeclared, errorList, ev, funTab, implicitMul, numberFactory, opSet, parser, symTab
 
Constructor Summary
  DJep()
          Standard constructor.
protected DJep(DJep j)
           
 
Method Summary
 void addDiffRule(DiffRulesI rule)
          Adds a rule with instruction on how to differentiate a function.
 boolean addStandardDiffRules()
          Adds the standard set of differentation rules.
 Node differentiate(Node node, java.lang.String name)
          Differentiate an equation with respect to a variable.
 DifferentiationVisitor getDifferentationVisitor()
          Returns the visitor used for differentiation.
 XJep newInstance()
          Creates a new instance of XJep with the same componants as this one.
 XJep newInstance(SymbolTable st)
          Creates a new instance of XJep with the same componants as this one and the specified symbol table.
 
Methods inherited from class org.lsmp.djep.xjep.XJep
addStandardConstants, addStandardFunctions, calcVarValue, continueParsing, deepCopy, evaluate, getNodeFactory, getPrintVisitor, getTreeUtils, preprocess, print, print, println, println, restartParser, restartParser, simplify, substitute, substitute, toString
 
Methods inherited from class org.nfunk.jep.JEP
addComplex, addConstant, addFunction, addVariable, addVariable, addVariable, getAllowAssignment, getAllowUndeclared, getComplexValue, getErrorInfo, getFunctionTable, getImplicitMul, getNumberFactory, getOperatorSet, getParser, getSymbolTable, getTopNode, getTraverse, getValue, getValueAsObject, getVar, getVarValue, hasError, initFunTab, initSymTab, parse, parseExpression, removeFunction, removeVariable, setAllowAssignment, setAllowUndeclared, setImplicitMul, setTraverse, setVarValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

dv

protected DifferentiationVisitor dv
Constructor Detail

DJep

public DJep()
Standard constructor. Use this instead of JEP or XJep if differentation facilities are required.


DJep

protected DJep(DJep j)
Method Detail

differentiate

public Node differentiate(Node node,
                          java.lang.String name)
                   throws ParseException
Differentiate an equation with respect to a variable.

Parameters:
node - top node of the expresion tree to differentiate.
name - differentiate with respect to this variable.
Returns:
the top node of a new parse tree representing the derivative.
Throws:
ParseException - if for some reason equation cannot be differentiated, ususaly if it has not been taught how to differentiate a particular function.

newInstance

public XJep newInstance()
Description copied from class: XJep
Creates a new instance of XJep with the same componants as this one. Sub classes should overwrite this method to create objects of the correct type.

Overrides:
newInstance in class XJep

newInstance

public XJep newInstance(SymbolTable st)
Description copied from class: XJep
Creates a new instance of XJep with the same componants as this one and the specified symbol table. Sub classes should overwrite this method to create objects of the correct type.

Overrides:
newInstance in class XJep

getDifferentationVisitor

public DifferentiationVisitor getDifferentationVisitor()
Returns the visitor used for differentiation. Allows more advanced functions.


addStandardDiffRules

public boolean addStandardDiffRules()
Adds the standard set of differentation rules.

Returns:
false if there was a parse error.

addDiffRule

public void addDiffRule(DiffRulesI rule)
Adds a rule with instruction on how to differentiate a function.

Parameters:
rule -


http://www.singularsys.com/jep Copyright © 2004 Singular Systems