CovarianceMatrixInterpolationPolynomial¶
-
MLModule
¶
Purpose¶
The module CovarianceMatrixInterpolationPolynomial
computes the covariance matrix of a multivariate interpolation polynomial with values in a three-dimensional space (represented as three scalar-valued multivariate polynomials). Also, an eigen analysis of the covariance matrix is performed.
Be sure not to confuse the dimension of the pre-image space (which is arbitrarily high here as for all the * InterpolationPolynomial modules) with the dimension of the image space (which is 3 here but only 1 for most other * InterpolationPolynomial modules). Since the modules that create multivariate interpolation polynomials do not support that, we need three polynomials as input.
Tips¶
If you encounter some wrong results (such as “not a number” values), try switching off the Simplify polynomials
field. This will slow down the computation but make it numerically more stable.
Input Fields¶
Parameter Fields¶
Field Index¶
Apply : Trigger |
Eigenvalue 2 : Double |
Manual Bounding Box : String |
Auto apply : Bool |
Eigenvalue 3 : Double |
Scaled Eigenvector 1 : Vector3 |
Bounding Box Polynomial 1 : String |
Eigenvector 1 : Vector3 |
Scaled Eigenvector 2 : Vector3 |
Bounding Box Polynomial 2 : String |
Eigenvector 2 : Vector3 |
Scaled Eigenvector 3 : Vector3 |
Bounding Box Polynomial 3 : String |
Eigenvector 3 : Vector3 |
Simplify polynomials : Bool |
Bounding Box Selection : Enum |
Expectation Value 1 : Double |
|
Covariance Matrix : Matrix |
Expectation Value 2 : Double |
|
Eigenvalue 1 : Double |
Expectation Value 3 : Double |
Visible Fields¶
Bounding Box Polynomial 1¶
-
name:
autoBBox1
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the first polynomial.
It can also be obtained with an
EvaluateInterpolationPolynomial
module.
Bounding Box Polynomial 2¶
-
name:
autoBBox2
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the second polynomial.
It can also be obtained with an
EvaluateInterpolationPolynomial
module.
Bounding Box Polynomial 3¶
-
name:
autoBBox3
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the third polynomial.
It can also be obtained with an
EvaluateInterpolationPolynomial
module.
Bounding Box Selection¶
-
name:
bBoxSelection
, type:
Enum
, default:
Union
¶ Defines the bounding box mode of this module.
Values:
Title | Name |
---|---|
Manual | Manual |
Polynomial 1 | Polynomial 1 |
Polynomial 2 | Polynomial 2 |
Polynomial 3 | Polynomial 3 |
Union | Union |
Manual Bounding Box¶
-
name:
manBBox
, type:
String
¶ Sets a bounding box if
Bounding Box Selection
is set to Manual.
Covariance Matrix¶
-
name:
covarMat
, type:
Matrix
, persistent:
no
¶ Shows the covariance matrix.
This is a symmetric real 3x3 matrix. However, MeVisLab does not support 3x3 matrix fields. Hence, the module uses a 4x4 matrix field. The additional three values at the right of the matrix contain the expectation values of the matrix. The additional three values at the bottom of the matrix are always zero. The bottom right component is always one.
Note that although this is a “world matrix like style”, this matrix is certainly not useful as a world matrix. It can even be singular.
Expectation Value 1¶
-
name:
expectation1
, type:
Double
, persistent:
no
¶ Shows the expectation value of the first polynomial.
Expectation Value 2¶
-
name:
expectation2
, type:
Double
, persistent:
no
¶ Shows the expectation value of the second polynomial.
Expectation Value 3¶
-
name:
expectation3
, type:
Double
, persistent:
no
¶ Shows the expectation value of the third polynomial.
Eigenvalue 1¶
-
name:
eVal1
, type:
Double
, persistent:
no
¶ Shows the first eigen value of the covariance matrix.
Eigenvector 1¶
-
name:
eVec1
, type:
Vector3
, persistent:
no
¶ Shows the first eigen vector of the covariance matrix.
Scaled Eigenvector 1¶
-
name:
eVec1Scaled
, type:
Vector3
, persistent:
no
¶ Shows the first eigen vector, scaled with the square of the eigen value of the covariance matrix.
Eigenvalue 2¶
-
name:
eVal2
, type:
Double
, persistent:
no
¶ Shows the second eigen value of the covariance matrix.
Eigenvector 2¶
-
name:
eVec2
, type:
Vector3
, persistent:
no
¶ Shows the second eigen vector of the covariance matrix.
Scaled Eigenvector 2¶
-
name:
eVec2Scaled
, type:
Vector3
, persistent:
no
¶ Shows the second eigen vector, scaled with the square of the eigen value of the covariance matrix.
Eigenvalue 3¶
-
name:
eVal3
, type:
Double
, persistent:
no
¶ Shows the third eigen value of the covariance matrix.
Eigenvector 3¶
-
name:
eVec3
, type:
Vector3
, persistent:
no
¶ Shows the third eigen vector of the covariance matrix.
Scaled Eigenvector 3¶
-
name:
eVec3Scaled
, type:
Vector3
, persistent:
no
¶ Shows the third eigen vector, scaled with the square of the eigen value of the covariance matrix.
Simplify polynomials¶
-
name:
simplify
, type:
Bool
, default:
TRUE
¶ If checked, the polynomials are simplified before usage (in the same way as a
SimplifyInterpolationPolynomial
module would do).(The simplification is performed after determination of the bounding box, so that no information is lost.) This is the default, and it will usually speed up the computation considerably. However, it may lead to numerical instabilities.
If you feel that you get wrong results, try switching this off.