ru.sscc.spline.polynomial
Class MatrixPreparator
java.lang.Object
|
+--ru.sscc.spline.polynomial.MatrixPreparator
- Direct Known Subclasses:
- NonuniformPreparator, UniformPreparator
- public abstract class MatrixPreparator
- extends java.lang.Object
- implements java.io.Serializable
Provides preparation of matrices for the linear algebraic system
of polynomial spline interpolation. The finite differences matrix
H is calculated while construction of class instance. The Laurent matrix
A is calculated in the calculateA method.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
h
protected RectBandedMatrix h
- The matrix of finite differences.
MatrixPreparator
public MatrixPreparator()
getH
public final RectBandedMatrix getH()
- Returns the matrix of finite differences.
calculateA
public abstract void calculateA(SymBandedMatrix a)
- Calculates the symmetric banded Laurent matrix.
The matrix size should be equal to the rows number of the
finite differences matrix.
The width of the matrix half-band should be not less than
the degree of the finite difference matrix.
- Parameters:
a
- a matrix to store the result.
by
public static final MatrixPreparator by(SimpleMesh mesh,
int order)
- Create a matrix preparator by a mesh and difference order.
ensureValidMatrix
protected final void ensureValidMatrix(SymBandedMatrix a,
boolean toeplitz)
- Tests the symmetric banded matrix to have correct size and
half-band width for writing of the Laurent matrix and prepares
the matrix for reuse.
- Parameters:
a
- a matrix to store the Laurent matrix.toeplitz
- a toeplitzness tag to be set