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 char
random lower triangular matrixstatic final char
random regular matrixstatic final char
random upper triangular matrixstatic final char
unit matrixstatic final char
zero matrixprotected int
number of columnsprotected int
number of rows -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Matrix
Compute the inverse of this matrix.abstract byte[]
int
int
abstract boolean
isZero()
Check if this is the zero matrix (i.e., all entries are zero).abstract Vector
leftMultiply
(Vector vector) Compute the product of a vector and this matrix.abstract Matrix
Compute the product of this matrix and another matrix.abstract Matrix
Compute the product of this matrix and a permutation.abstract Vector
rightMultiply
(Vector vector) Compute the product of this matrix and a vector.abstract String
toString()
-
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
-