#include <EqnSolver.h>
Inheritance diagram for OSCAR::EqnSolver:

Public Methods | |
| EqnSolver () | |
| virtual bool | General (const Matrix &A, Vector &x, const Vector &b) |
| virtual bool | Reconfig (const Matrix &A, JointVector &x, const HandPose &b) |
| virtual bool | OverConstrained (const Matrix &A, Vector &x, const Vector &b) |
| virtual bool | Square (const Matrix &A, Vector &x, const Vector &b) |
| virtual bool | Redundant (const Matrix &A, Vector &x, const Vector &b) |
| virtual bool | RedundantWithWeights (const Matrix &A, Vector &x, const Vector &b) |
| bool | SetWeights (const Matrix &W) |
| void | ClearWeights () |
| double | GetSolutionProperties (void) |
| EqnSolver & | operator= (const EqnSolver &rhs) |
| EqnSolver (const EqnSolver &rhs) | |
| virtual | ~EqnSolver () |
Protected Attributes | |
| double | determinant |
| Matrix * | weights |
| Matrix * | storedWeights |
| Vector * | temp |
| Vector * | temp2 |
| Vector * | scratchVec |
| Vector * | scratchVec2 |
| Matrix * | scratchMat |
| Matrix * | scratchMat2 |
| Matrix * | scratchMat3 |
| Matrix * | scratchMat4 |
| Matrix * | scratchMat5 |
|
|
Constructor. This is the default constructor for an object of type EqnSolver. Use this to simply construct an instance of an EqnSolver object that can be used for solving systems of linear equations. |
|
|
Copy Constructor. This is the copy constructor for an object of type EqnSolver. Use this to construct an EqnSolver object from an existing EqnSolver object.
|
|
|
Virtual Destructor. This is the Destructor for an object of type EqnSolver. |
|
|
Clear the Weighting Matrix. This method is used to clear the internal Weighting matrix.
|
|
||||||||||||||||
|
Solve the linear system Ax=b. This method is used to provide the solution to the linear system Ax=b, and it can be used for any of the square (m=n), redundant (n>m) or over-constrained (m>n) cases. In the square case, the A matrix is simply inverted to get the solution. The redundant case uses a psudeo-inverse. The over-constrained case will yield a least-squares solution.
|
|
|
Get the Determinant. Gets the determinant of the Matrix A from the last inverse that was performed.
|
|
|
Assignment Operator. This is the Assignment operator for an object of type EqnSolver.
|
|
||||||||||||||||
|
Solve the linear system Ax=b where A is over-constrained (m>n). Least-squares solution to the linear system Ax=b where A is over-constrained (m>n).
|
|
||||||||||||||||
|
Solve the linear system Ax=b where A is the Jacobian matrix, x is a JointVector and b is a HandPose. Solves the linear system Ax=b for the special instance where A is the Jacobian matrix, x is a JointVector and b is a HandPose. This function will use the active/inactive coordinates specified inside the JointVector and HandPose to produce the solution.
|
|
||||||||||||||||
|
Solve the linear system Ax=b where A is redundant (n>m). Solves the linear system Ax=b where A is redundant (n>m) by calculating the pseudo-inverse of the Matrix.
Reimplemented in OSCAR::DLSEqnSolver. |
|
||||||||||||||||
|
Solve the linear system Ax=b where A is redundant (n>m) using a weight Matrix. Solves the linear system Ax=b where A is redundant (n>m) using a weight Matrix. The weight matrix should be nxn, and the system is solved like so: x=W*A_Tran*inv(A*W*A_Trans). The weight Matrix is defined using the SetWeights() method. If the Matrix has not been set, then a normal pseudo-inverse will be performed.
Reimplemented in OSCAR::DLSEqnSolver. |
|
|
Set the Weighting Matrix. Sets the Weighting Matrix. This Matrix should be nxn.
|
|
||||||||||||||||
|
Solve the linear system Ax=b where A is square (m==n). Solves the linear system Ax=b where A is square (m==n), by inverting the Matrix.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| RRG Homepage | OSCAR Overview | OSCAR Tutorials | Simulations |