9 #ifndef CMZN_FIELDMATRIXOPERATORS_HPP__ 
   10 #define CMZN_FIELDMATRIXOPERATORS_HPP__ 
   12 #include "zinc/fieldmatrixoperators.h" 
   13 #include "zinc/field.hpp" 
   14 #include "zinc/fieldmodule.hpp" 
   20 class FieldDeterminant : 
public Field
 
   32     explicit FieldDeterminant(cmzn_field_id field_id) : Field(field_id)
 
   39     FieldDeterminant() : Field(0)
 
   43 class FieldEigenvalues : 
public Field
 
   55     explicit FieldEigenvalues(cmzn_field_id field_id) : Field(field_id)
 
   62     FieldEigenvalues() : Field(0)
 
   66 class FieldEigenvectors : 
public Field
 
   79     explicit FieldEigenvectors(cmzn_field_id field_id) : Field(field_id)
 
   83         const FieldEigenvalues& eigenValuesField);
 
   87     FieldEigenvectors() : Field(0)
 
   91 class FieldMatrixInvert : 
public Field
 
  103     explicit FieldMatrixInvert(cmzn_field_id field_id) : Field(field_id)
 
  110     FieldMatrixInvert() : Field(0)
 
  114 class FieldMatrixMultiply : 
public Field
 
  130     explicit FieldMatrixMultiply(cmzn_field_id field_id) : Field(field_id)
 
  134         const Field& sourceField1, 
const Field& sourceField2);
 
  138     FieldMatrixMultiply() : Field(0)
 
  142 class FieldProjection : 
public Field
 
  169     explicit FieldProjection(cmzn_field_id field_id) : Field(field_id)
 
  173         const Field& projectionMatrixField);
 
  177     FieldProjection() : Field(0)
 
  181 class FieldTranspose : 
public Field
 
  194     explicit FieldTranspose(cmzn_field_id field_id) : Field(field_id)
 
  198         const Field& sourceField);
 
  202     FieldTranspose() : Field(0)
 
  210         sourceField.
getId()));
 
  216         sourceField.
getId()));
 
  222         eigenValuesField.getId()));
 
  228         sourceField.
getId()));
 
  232     const Field& sourceField1, 
const Field& sourceField2)
 
  235         numberOfRows, sourceField1.
getId(), sourceField2.
getId()));
 
  239     const Field& projectionMatrixField)
 
  242         sourceField.
getId(), projectionMatrixField.
getId()));
 
  246     const Field& sourceField)
 
  249         sourceNumberOfRows, sourceField.
getId()));
 
FieldMatrixMultiply createFieldMatrixMultiply(int numberOfRows, const Field &sourceField1, const Field &sourceField2)
Definition: fieldmatrixoperators.hpp:231
 
FieldEigenvalues createFieldEigenvalues(const Field &sourceField)
Definition: fieldmatrixoperators.hpp:213
 
A field returning the transpose of N*M matrix source_field. 
Definition: fieldmatrixoperators.hpp:190
 
Base field type: an abstraction of a mathematical field. 
Definition: field.hpp:46
 
A field returning the scalar real determinant of a square matrix source field. 
Definition: fieldmatrixoperators.hpp:28
 
FieldMatrixInvert createFieldMatrixInvert(const Field &sourceField)
Definition: fieldmatrixoperators.hpp:225
 
cmzn_field_id getId() const 
Definition: field.hpp:98
 
A field returning the inverse of N*N symmetric matrix valued source field. 
Definition: fieldmatrixoperators.hpp:99
 
A field returning the N, N-dimensional eigenvectors computed with the source eigenvalues field...
Definition: fieldmatrixoperators.hpp:75
 
A field returning the values resulting from matrix multiplication <source_field1> x <source_field2>...
Definition: fieldmatrixoperators.hpp:126
 
FieldTranspose createFieldTranspose(int sourceNumberOfRows, const Field &sourceField)
Definition: fieldmatrixoperators.hpp:245
 
A projection field returning the result of a matrix multiplication with perspective division on the s...
Definition: fieldmatrixoperators.hpp:165
 
FieldEigenvectors createFieldEigenvectors(const FieldEigenvalues &eigenValuesField)
Definition: fieldmatrixoperators.hpp:219
 
FieldProjection createFieldProjection(const Field &sourceField, const Field &projectionMatrixField)
Definition: fieldmatrixoperators.hpp:238
 
A field returning the N eigenvalues of symmetric N*N component source field. 
Definition: fieldmatrixoperators.hpp:51
 
FieldDeterminant createFieldDeterminant(const Field &sourceField)
Definition: fieldmatrixoperators.hpp:207