public class HelperNister5
extends java.lang.Object
EssentialNister5. Contains ugly unrolled linear systems. See generate/python/nister5.py
for code which created the mess you see below.| Constructor and Description |
|---|
HelperNister5() |
| Modifier and Type | Method and Description |
|---|---|
void |
extractPolynomial(double[] coefs)
Extracts the polynomial coefficients from det(B) where B = [K;L;M] and the columns are variables (x,y,1)
see paper for a slightly less confusing description.
|
void |
setDeterminantVectors(org.ejml.data.DenseMatrix64F A)
See equations 11-13
K = E - z*F
L = G - z*H
M = I - z*J
(E,F,G,H,I,J) = x*(z^2 + z + 1) + y*(z^2 + z + 1) + z^3 + z^2 + z + 1
|
void |
setNullSpace(double[] x,
double[] y,
double[] z,
double[] w) |
void |
setupA1(org.ejml.data.DenseMatrix64F A)
Construct 10 by 10 coefficient matrix for the following coefficients
'x^3','y^3','x^2*y','x*y^2','x^2*z','x^2','y^2*z','y^2','x*y*z','x*y'
|
void |
setupA2(org.ejml.data.DenseMatrix64F B)
Construct 10 by 10 coefficient matrix for the following coefficients
'x*z^2','x*z','x','y*z^2','y*z','y','z^3','z^2','z','1'
|
public void setNullSpace(double[] x,
double[] y,
double[] z,
double[] w)
public void setupA1(org.ejml.data.DenseMatrix64F A)
A - a 10 by 10 matrixpublic void setupA2(org.ejml.data.DenseMatrix64F B)
B - a 10 by 10 matrixpublic void setDeterminantVectors(org.ejml.data.DenseMatrix64F A)
A - Solution to linear systempublic void extractPolynomial(double[] coefs)
coefs - Array with 11 elements. The index corresponds to the coefficient power.