public class Matrix6dDiagBlock extends Matrix6dBlock
Matrix.Partition, Matrix.WriteFormatm00, m01, m02, m03, m04, m05, m10, m11, m12, m13, m14, m15, m20, m21, m22, m23, m24, m25, m30, m31, m32, m33, m34, m35, m40, m41, m42, m43, m44, m45, m50, m51, m52, m53, m54, m55INDEFINITE, POSITIVE_DEFINITE, SPD, SYMMETRIC| Constructor and Description |
|---|
Matrix6dDiagBlock()
Creates a new Matrix6dDiagBlock.
|
Matrix6dDiagBlock(double m00,
double m11,
double m22,
double m33,
double m44,
double m55)
Creates a new Matrix6dDiagBlock with specified diagonal elements.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addNumNonZerosByCol(int[] offsets,
int idx,
Matrix.Partition part)
Adds the number of non-zero entries in each column of this block matrix to
the current values stored in the array
offsets, starting
at the location specified by idx. |
void |
addNumNonZerosByRow(int[] offsets,
int idx,
Matrix.Partition part)
Adds the number of non-zero entries in each row of this block matrix to
the current values stored in the array
offsets, starting
at the location specified by idx. |
int |
getBlockCCSIndices(int[] rowIdxs,
int rowOff,
int[] offsets,
Matrix.Partition part) |
int |
getBlockCCSValues(double[] vals,
int[] offsets,
Matrix.Partition part)
Stores the values of non-zero entries for this matrix block.
|
int |
getBlockCRSIndices(int[] colIdxs,
int colOff,
int[] offsets,
Matrix.Partition part)
Stores the column indices of the non-zero entries for this matrix block.
|
int |
getBlockCRSValues(double[] vals,
int[] offsets,
Matrix.Partition part)
Stores the values of non-zero entries for this matrix block.
|
void |
mulAdd(double[] y,
int yIdx,
double[] x,
int xIdx)
Pre-multiplies a column vector by this matrix block and adds the result to
a set of existing values.
|
void |
mulTransposeAdd(double[] y,
int yIdx,
double[] x,
int xIdx)
Post-multiplies a row vector by this matrix block and adds the result to a
set of existing values.
|
int |
numNonZeroVals()
Returns the number of non-zero values in this matrix object.
|
int |
numNonZeroVals(Matrix.Partition part,
int numRows,
int numCols)
Returns the number of non-zero values for a specified partition of a
principal sub-matrix of this matrix delimited by the first
numRows rows and the first numCols columns. |
void |
set(double m00,
double m11,
double m22,
double m33,
double m44,
double m55) |
void |
set(int i,
int j,
double val)
Sets a single element of this matrix.
|
boolean |
valueIsNonZero(int i,
int j)
Returns true if the value at the specified location is structurally
non-zero.
|
add, clone, createTranspose, down, getBlockCol, getBlockNumber, getBlockRow, next, scaledAdd, setBlockCol, setBlockNumber, setBlockRow, setDown, setNext, subadd, add, addObj, addSubMatrix00, addSubMatrix03, addSubMatrix30, addSubMatrix33, crossProductTransform, epsilonEquals, getSubMatrix00, getSubMatrix03, getSubMatrix30, getSubMatrix33, inverseTransform, inverseTransform, invert, mul, mul, mulAdd, mulInverse, mulInverseBoth, mulInverseLeft, mulInverseRight, mulTranspose, mulTransposeBoth, mulTransposeLeft, mulTransposeLeftAdd, mulTransposeRight, mulTransposeRightAdd, negate, scale, scale, scaledAddObj, scaleObj, set, setDiagonal, setDiagonal, setDiagonal, setLowerToUpper, setRandom, setRandom, setRandom, setSubMatrix00, setSubMatrix03, setSubMatrix30, setSubMatrix33, setZero, sub, sub, transform, transform, transposecolSize, determinant, epsilonEquals, equals, frobeniusNorm, get, get, get, getColumn, getColumn, getRow, getRow, infinityNorm, invert, mul, mul, mulInverse, mulInverse, mulInverseTranspose, mulInverseTranspose, mulTranspose, mulTranspose, negate, oneNorm, rowSize, scaledAdd, set, set, set, setColumn, setIdentity, setRow, transposeadd, checkConsistency, set, set, set, setCCSValues, setColumn, setCRSValues, setRow, setSubMatrixcontainsNaN, epsilonEquals, equals, frobeniusNormSquared, get, getCCSIndices, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getCCSValues, getColumn, getCRSIndices, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getCRSValues, getDefaultFormat, getRow, getSize, getSubMatrix, hasNaN, idString, isFixedSize, isSymmetric, isWritable, maxNorm, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, scan, scan, setCRSValues, setDefaultFormat, setSize, toString, toString, toString, trace, write, write, write, write, write, write, write, writeToFileequals, getClass, hashCode, notify, notifyAll, wait, wait, waitmulAdd, mulTransposeLeftAdd, mulTransposeRightAdd, negate, scale, setZeroset, set, setColumn, setColumn, setRow, setRow, setSubMatrixcheckConsistency, colSize, determinant, epsilonEquals, equals, frobeniusNorm, frobeniusNormSquared, get, get, getCCSIndices, getCCSIndices, getCCSIndices, getCCSValues, getCCSValues, getCCSValues, getColumn, getColumn, getColumn, getCRSIndices, getCRSIndices, getCRSIndices, getCRSValues, getCRSValues, getCRSValues, getRow, getRow, getRow, getSize, getSubMatrix, infinityNorm, isFixedSize, isSymmetric, maxNorm, mul, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, oneNorm, rowSize, scan, set, set, setCCSValues, setCRSValues, setSize, toString, toString, trace, write, write, writegetThreeVectorValueisWritable, scan, writepublic Matrix6dDiagBlock()
public Matrix6dDiagBlock(double m00,
double m11,
double m22,
double m33,
double m44,
double m55)
public void set(double m00,
double m11,
double m22,
double m33,
double m44,
double m55)
public void set(int i,
int j,
double val)
Matrix6dBaseset in interface DenseMatrixset in class Matrix6dBasei - element row indexj - element column indexval - element valuepublic boolean valueIsNonZero(int i,
int j)
valueIsNonZero in interface MatrixBlockvalueIsNonZero in class Matrix6dBlocki - row indexj - column indexpublic int numNonZeroVals()
numNonZeroVals in interface MatrixnumNonZeroVals in class MatrixBasepublic int numNonZeroVals(Matrix.Partition part, int numRows, int numCols)
numRows rows and the first numCols columns.
If the matrix is dense and the partition is Full,
then this will simply be the product of the number of rows times the
number of columns.numNonZeroVals in interface MatrixnumNonZeroVals in class MatrixBasepart - matrix parition to be examinednumRows - number of rows delimiting the sub-matrixnumCols - number of columns delimiting the sub-matrixpublic void mulAdd(double[] y,
int yIdx,
double[] x,
int xIdx)
x, starting at location xIdx, and
the result is added to values in y, starting at location
yIdx.mulAdd in interface MatrixBlockmulAdd in class Matrix6dBlocky - accumulates resulting valuesyIdx - starting index for accumulating valuesx - supplies column vector valuesxIdx - starting index for column vector valuespublic void mulTransposeAdd(double[] y,
int yIdx,
double[] x,
int xIdx)
x, starting at location xIdx, and the
result is added to values in y, starting at location
yIdx.mulTransposeAdd in interface MatrixBlockmulTransposeAdd in class Matrix6dBlocky - accumulates resulting valuesyIdx - starting index for accumulating valuesx - supplies row vector valuesxIdx - starting index for row vector valuespublic int getBlockCRSIndices(int[] colIdxs,
int colOff,
int[] offsets,
Matrix.Partition part)
colIdxs, starting at a location given by
offsets[i]. Indices are 0-based. Upon return,
offsets[i] should be incremented by the number of non-zero
values in row i.getBlockCRSIndices in interface MatrixBlockgetBlockCRSIndices in class Matrix6dBlockcolIdxs - stores column indices of non-zero entriescolOff - starting column index for the first column of this blockoffsets - offsets within colIdxs for storing each row's indices; upon
return, should be incremented by the number of non-zero entries in each
row.part - specifies whether to store column indices for the entire block or a
specified sub-portion.public void addNumNonZerosByRow(int[] offsets,
int idx,
Matrix.Partition part)
offsets, starting
at the location specified by idx.addNumNonZerosByRow in interface MatrixBlockaddNumNonZerosByRow in class Matrix6dBlockoffsets - values to be incremented by the number of non-zero entries in each rowidx - starting location within offsetspart - specifies whether to consider the entire block or a specified sub-portion.public int getBlockCCSIndices(int[] rowIdxs,
int rowOff,
int[] offsets,
Matrix.Partition part)
getBlockCCSIndices in interface MatrixBlockgetBlockCCSIndices in class Matrix6dBlockrowIdxs - stores row indices of non-zero entriesrowOff - starting row index for the first row of this blockoffsets - offsets within rowIdxs for storing each column's indices;
upon return, should be incremented by the number of non-zero entries in
each column.part - specifies whether to store row indices for the entire block or a specified
sub-portion.public void addNumNonZerosByCol(int[] offsets,
int idx,
Matrix.Partition part)
offsets, starting
at the location specified by idx.addNumNonZerosByCol in interface MatrixBlockaddNumNonZerosByCol in class Matrix6dBlockoffsets - values to be incremented by the number of non-zero entries in each columnidx - starting location within offsetspart - specifies whether to consider the entire block or a specified sub-portion.public int getBlockCRSValues(double[] vals,
int[] offsets,
Matrix.Partition part)
vals,
starting at a location given by offsets[i]. Upon return,
offsets[i] should be incremented by the number of non-zero
values in row i.getBlockCRSValues in interface MatrixBlockgetBlockCRSValues in class Matrix6dBlockvals - stores values of non-zero entriesoffsets - offsets within vals for storing each row's values; upon
return, should be incremented by the number of non-zero entries in each
row.part - specifies whether to store the entire block or a specified sub-portion.public int getBlockCCSValues(double[] vals,
int[] offsets,
Matrix.Partition part)
vals, starting at a location given by
offsets[j]. Upon return, offsets[j] should
be incremented by the number of non-zero values in column j.getBlockCCSValues in interface MatrixBlockgetBlockCCSValues in class Matrix6dBlockvals - stores values of non-zero entriesoffsets - offsets within vals for storing each columns's values; upon
return, should be incremented by the number of non-zero entries in each
column.part - specifies whether to store the entire block or a specified sub-portion.