|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.spaceroots.rkcheck.DerivationTree
This class implements rooted trees for determining order conditions in Runge-Kutta integrators.
The determination of order conditions for Runge-Kutta integrators involves identifying all the terms of two developments:
According to a theorem from Butcher (1963), this identification can be done using rooted trees representing the multilinear derivations of the Runge-Kutta process. This class implements this computation process for one term, as explained in the paper Runge-Kutta Methods, Trees, and Maple by Folkmar Bornemann, Center of Mathematical Sciences, Munich University of Technology, February 9, 2001.
The nodes in such trees are either leaf nodes without any subtree or nodes with subtrees. Leaf nodes represent the basic function f by itself. Nodes with subtrees represent an elementary differential written for example f'''(f'(f), f'(f), f), which means we compute the third order derivative according to three arguments which themselves represent other elementary differentials.
Only the derivation structure is considered, there is no reference to the base function f which should be differentiated according to this structure (it remains an unknown througout the order conditions determination process). This means the nodes do not contain data per se, so these trees should not be confused with trees used as containers (such as AVL trees or red-black trees).
| Constructor Summary | |
DerivationTree()
Simple constructor. |
|
DerivationTree(DerivationTree tree)
Copy constructor. |
|
DerivationTree(DerivationTree[] trees)
Build a derivation tree from an array of sub-trees. |
|
| Method Summary | |
int |
compareTo(java.lang.Object o)
Compares this tree with the specified object for order. |
boolean |
equals(java.lang.Object o)
Check if the instance is equal to another tree. |
QuadraticSurd |
getAlpha()
Get the alpha factor of the tree. |
int |
getDepth()
Get the depth of the tree. |
long |
getFactorial()
Get the factorial of the tree. |
int |
getOrder()
Get the order of the tree. |
int |
hashCode()
Returns the hash code value for this tree. |
boolean |
isLeaf()
Check if a tree is a leaf. |
java.util.Vector |
listUpperTrees()
List one order upper trees. |
java.lang.String |
orderConditionAsMaximaString(boolean interpolatorCondition)
Get a Maxima string representation of the order condition of this derivation tree. |
java.lang.String |
orderConditionAsTeXString(boolean interpolatorCondition)
Get a TeX string representation of the order condition of this derivation tree. |
QuadraticSurd |
orderConditionResidual(QuadraticSurd[] c,
QuadraticSurd[][] a,
QuadraticSurd[] b)
Compute the residual on an order condition |
java.lang.String |
toString()
Get a string representation of this tree. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public DerivationTree()
public DerivationTree(DerivationTree tree)
tree - derivation tree to copypublic DerivationTree(DerivationTree[] trees)
trees - array of sub-trees (null elements will be skipped)| Method Detail |
public java.util.Vector listUpperTrees()
public boolean isLeaf()
public boolean equals(java.lang.Object o)
o - object against which we want to check equality
public int hashCode()
public int compareTo(java.lang.Object o)
compareTo in interface java.lang.Comparableo - the Object to be compared.
java.lang.ClassCastException - if the specified object's type
prevents it from being compared to this Object.public int getDepth()
public int getOrder()
public long getFactorial()
public QuadraticSurd getAlpha()
public QuadraticSurd orderConditionResidual(QuadraticSurd[] c,
QuadraticSurd[][] a,
QuadraticSurd[] b)
c - time steps arraya - internal weights arrayb - estimation weights array
public java.lang.String orderConditionAsTeXString(boolean interpolatorCondition)
interpolatorCondition - indicator if the condition should be
displayed for an interpolator (using a theta parameter between 0
and 1) or for an integrator (with the constant 1)
public java.lang.String orderConditionAsMaximaString(boolean interpolatorCondition)
interpolatorCondition - indicator if the condition should be
displayed for an interpolator (using a theta parameter between 0
and 1) or for an integrator (with the constant 1)
public java.lang.String toString()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||