public class Matrix6dBlock extends Matrix6d implements MatrixBlock
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 | 
|---|
| Matrix6dBlock()Creates a new Matrix6dBlock. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | add(Matrix M)Adds the contents of a Matrix to this matrix block. | 
| 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 byidx. | 
| 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 byidx. | 
| Matrix6dBlock | clone()Creates a clone of this matrix block, with the link and offset information
 set to be undefined. | 
| Matrix6dBlock | createTranspose()Creates a transpose of this matrix block. | 
| MatrixBlock | down()Returns the next matrix block in a block matrix column. | 
| 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 | getBlockCol()Gets the number of the block column of this matrix block within a
  SparseBlockMatrix. | 
| 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. | 
| int | getBlockNumber()Gets the number of this block within a  SparseBlockMatrix. | 
| int | getBlockRow()Gets the number of the block row of this matrix block within a
  SparseBlockMatrix. | 
| 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. | 
| MatrixBlock | next()Returns the next matrix block in a block matrix row. | 
| void | scaledAdd(double s,
         Matrix M)Adds the scaled contents of a Matrix to this matrix block. | 
| void | setBlockCol(int blkCol)Sets the number of the block column of this matrix block within a
  SparseBlockMatrix. | 
| void | setBlockNumber(int num)Sets the number of this block within a  SparseBlockMatrix. | 
| void | setBlockRow(int blkRow)Sets the number of the block row of this matrix block within a
  SparseBlockMatrix. | 
| void | setDown(MatrixBlock blk)Sets the next matrix block in a block matrix column. | 
| void | setNext(MatrixBlock blk)Sets the next matrix block in a block matrix row. | 
| void | sub(Matrix M)Subtract the contents of a Matrix from this matrix block. | 
| boolean | valueIsNonZero(int i,
              int j)Returns true if the value at the specified location is structurally
 non-zero. | 
add, add, addSubMatrix00, addSubMatrix03, addSubMatrix30, addSubMatrix33, getSubMatrix00, getSubMatrix03, getSubMatrix30, getSubMatrix33, inverseTransform, inverseTransform, invert, mul, mul, mulAdd, mulInverse, mulInverseBoth, mulInverseLeft, mulInverseRight, mulTranspose, mulTransposeBoth, mulTransposeLeft, mulTransposeRight, negate, scale, scale, 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, 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, maxNorm, mul, mul, mulAdd, mulAdd, mulAdd, mulTranspose, mulTranspose, mulTransposeAdd, mulTransposeAdd, mulTransposeAdd, numNonZeroVals, numNonZeroVals, scan, setCRSValues, setDefaultFormat, setSize, toString, toString, toString, trace, write, write, write, write, write, write, writeToFileequals, getClass, hashCode, notify, notifyAll, wait, wait, waitmulAdd, scale, setZeroset, set, 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, numNonZeroVals, numNonZeroVals, oneNorm, rowSize, scan, set, set, setCCSValues, setCRSValues, setSize, toString, toString, trace, write, write, writepublic MatrixBlock next()
next in interface MatrixBlockpublic void setNext(MatrixBlock blk)
maspack.matrix.setNext in interface MatrixBlockblk - next matrix block in a rowpublic MatrixBlock down()
down in interface MatrixBlockpublic void setDown(MatrixBlock blk)
maspack.matrix.setDown in interface MatrixBlockblk - next matrix block in a columnpublic int getBlockRow()
SparseBlockMatrix.getBlockRow in interface MatrixBlockpublic void setBlockRow(int blkRow)
SparseBlockMatrix. Use of this
 method is reserved to maspack.matrix.setBlockRow in interface MatrixBlockblkRow - row number for this blockpublic int getBlockCol()
SparseBlockMatrix.getBlockCol in interface MatrixBlockpublic void setBlockCol(int blkCol)
SparseBlockMatrix. Use of this
 method is reserved to maspack.matrix.setBlockCol in interface MatrixBlockblkCol - column number for this blockpublic int getBlockNumber()
SparseBlockMatrix. Block numbers are used for fast access. If
 the block does not belong to a SparseBlockMatrix, then -1 is returned.getBlockNumber in interface MatrixBlockpublic void setBlockNumber(int num)
SparseBlockMatrix. Use
 of this method is reserved to maspack.matrix.setBlockNumber in interface MatrixBlocknum - number for this blockpublic 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 MatrixBlocky - 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 MatrixBlocky - accumulates resulting valuesyIdx - starting index for accumulating valuesx - supplies row vector valuesxIdx - starting index for row vector valuespublic void add(Matrix M)
add in interface MatrixBlockM - matrix to addpublic void scaledAdd(double s,
                      Matrix M)
scaledAdd in interface MatrixBlocks - scaling factorM - matrix to addpublic void sub(Matrix M)
sub in interface MatrixBlockM - matrix to subtractpublic 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 MatrixBlockcolIdxs - 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 MatrixBlockoffsets - 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 MatrixBlockrowIdxs - 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 MatrixBlockoffsets - 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 MatrixBlockvals - 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 MatrixBlockvals - 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.public boolean valueIsNonZero(int i,
                              int j)
valueIsNonZero in interface MatrixBlocki - row indexj - column indexpublic Matrix6dBlock createTranspose()
createTranspose in interface MatrixBlockpublic Matrix6dBlock clone()