Class Matrix
java.lang.Object
org.bouncycastle.pqc.legacy.math.linearalgebra.Matrix
- Direct Known Subclasses:
GF2Matrix,GF2mMatrix
This abstract class defines matrices. It holds the number of rows and the
number of columns of the matrix and defines some basic methods.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final charrandom lower triangular matrixstatic final charrandom regular matrixstatic final charrandom upper triangular matrixstatic final charunit matrixstatic final charzero matrixprotected intnumber of columnsprotected intnumber of rows -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract MatrixCompute the inverse of this matrix.abstract byte[]intintabstract booleanisZero()Check if this is the zero matrix (i.e., all entries are zero).abstract VectorleftMultiply(Vector vector) Compute the product of a vector and this matrix.abstract MatrixCompute the product of this matrix and another matrix.abstract MatrixCompute the product of this matrix and a permutation.abstract VectorrightMultiply(Vector vector) Compute the product of this matrix and a vector.abstract StringtoString()
-
Field Details
-
numRows
protected int numRowsnumber of rows -
numColumns
protected int numColumnsnumber of columns -
MATRIX_TYPE_ZERO
public static final char MATRIX_TYPE_ZEROzero matrix- See Also:
-
MATRIX_TYPE_UNIT
public static final char MATRIX_TYPE_UNITunit matrix- See Also:
-
MATRIX_TYPE_RANDOM_LT
public static final char MATRIX_TYPE_RANDOM_LTrandom lower triangular matrix- See Also:
-
MATRIX_TYPE_RANDOM_UT
public static final char MATRIX_TYPE_RANDOM_UTrandom upper triangular matrix- See Also:
-
MATRIX_TYPE_RANDOM_REGULAR
public static final char MATRIX_TYPE_RANDOM_REGULARrandom regular matrix- See Also:
-
-
Constructor Details
-
Matrix
public Matrix()
-
-
Method Details
-
getNumRows
public int getNumRows()- Returns:
- the number of rows in the matrix
-
getNumColumns
public int getNumColumns()- Returns:
- the number of columns in the binary matrix
-
getEncoded
public abstract byte[] getEncoded()- Returns:
- the encoded matrix, i.e., this matrix in byte array form.
-
computeInverse
Compute the inverse of this matrix.- Returns:
- the inverse of this matrix (newly created).
-
isZero
public abstract boolean isZero()Check if this is the zero matrix (i.e., all entries are zero).- Returns:
- true if this is the zero matrix
-
rightMultiply
Compute the product of this matrix and another matrix.- Parameters:
a- the other matrix- Returns:
- this * a (newly created)
-
rightMultiply
Compute the product of this matrix and a permutation.- Parameters:
p- the permutation- Returns:
- this * p (newly created)
-
leftMultiply
Compute the product of a vector and this matrix. If the length of the vector is greater than the number of rows of this matrix, the matrix is multiplied by each m-bit part of the vector.- Parameters:
vector- a vector- Returns:
- vector * this (newly created)
-
rightMultiply
Compute the product of this matrix and a vector.- Parameters:
vector- a vector- Returns:
- this * vector (newly created)
-
toString
-