Implements the condition number quality metric. More...
#include <SimplexCondNum.h>
Public Types | |
typedef T | Number |
The number type. | |
typedef Base::Vertex | Vertex |
The class for a vertex. | |
typedef Base::Simplex | Simplex |
The simplex type. | |
typedef Base::Matrix | Matrix |
An NxN matrix. | |
Public Member Functions | |
Constructors etc. | |
SimplexCondNum () | |
Default constructor. Un-initialized memory. | |
SimplexCondNum (const SimplexCondNum &other) | |
Copy constructor. | |
SimplexCondNum (const Simplex &s) | |
Construct from a simplex. | |
SimplexCondNum & | operator= (const SimplexCondNum &other) |
Assignment operator. | |
~SimplexCondNum () | |
Trivial destructor. | |
Mathematical functions | |
Number | operator() () const |
Return the condition number (kappa) quality metric. | |
Number | operator() (const Simplex &simplex) const |
Return the condition number (kappa) quality metric. | |
void | computeGradient (Vertex *gradient) const |
Calculate the gradient of the condition number (kappa) quality metric. | |
Protected Member Functions | |
Number | computeFunction (Number snj, Number sna) const |
Return the quality metric given and . |
Implements the condition number quality metric.
N | is the dimension. | |
T | is the number type. By default it is double. |
This class implements the condition number quality metric. Let be the Jacobian matrix, be its adjoint (scaled inverse), be the Jacobian determinant and be the Frobenius norm. The operator()()
member function returns the condition number quality metric:
This quality metric is only defined for simplices with positive content. (The Jacobian determinant must be positive.)
computeGradient()
calculates the gradient of the condition number metric.
Before evaluating the condition number metric, you must set the Jacobian matrix with setFunction()
or set()
. Before evaluating the gradient of the metric, you must set the Jacobian matrix and its gradient with set()
.
void SimplexCondNum< N, T >::computeGradient | ( | Vertex * | gradient | ) | const |
Calculate the gradient of the condition number (kappa) quality metric.
Let be the Jacobian matrix, be its scaled inverse, be the Jacobian determinant and be the Frobenius norm. The kappa function is
Reimplemented in SimplexModCondNum< N, T >.
Number SimplexCondNum< N, T >::operator() | ( | const Simplex & | simplex | ) | const [inline] |
Return the condition number (kappa) quality metric.
Reimplemented in SimplexModCondNum< N, T >.
References SimplexCondNum< N, T >::operator()(), and SimplexAdjJacQF< N, T >::setFunction().
Number SimplexCondNum< N, T >::operator() | ( | ) | const |
Return the condition number (kappa) quality metric.
Reimplemented in SimplexModCondNum< N, T >.
Referenced by SimplexCondNum< N, T >::operator()().