Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.bouncycastle.pqc.math.linearalgebra;

This abstract class defines matrices. It holds the number of rows and the number of columns of the matrix and defines some basic methods.
  
  public abstract class Matrix
  {

    
number of rows
 
     protected int numRows;

    
number of columns
 
     protected int numColumns;
 
     // ----------------------------------------------------
     // some constants (matrix types)
     // ----------------------------------------------------
 
    
zero matrix
 
     public static final char MATRIX_TYPE_ZERO = 'Z';

    
unit matrix
 
     public static final char MATRIX_TYPE_UNIT = 'I';

    
random lower triangular matrix
 
     public static final char MATRIX_TYPE_RANDOM_LT = 'L';

    
random upper triangular matrix
 
     public static final char MATRIX_TYPE_RANDOM_UT = 'U';

    
random regular matrix
 
     public static final char MATRIX_TYPE_RANDOM_REGULAR = 'R';
 
     // ----------------------------------------------------
     // getters
     // ----------------------------------------------------
 
    

Returns:
the number of rows in the matrix
 
     public int getNumRows()
     {
         return ;
     }

    

Returns:
the number of columns in the binary matrix
 
     public int getNumColumns()
     {
         return ;
     }

    

Returns:
the encoded matrix, i.e., this matrix in byte array form.
 
     public abstract byte[] getEncoded();
 
     // ----------------------------------------------------
     // arithmetic
     // ----------------------------------------------------
 
    
Compute the inverse of this matrix.

Returns:
the inverse of this matrix (newly created).
 
     public abstract Matrix computeInverse();

    
Check if this is the zero matrix (i.e., all entries are zero).

Returns:
true if this is the zero matrix
 
     public abstract boolean isZero();

    
Compute the product of this matrix and another matrix.

Parameters:
a the other matrix
Returns:
this * a (newly created)
 
     public abstract Matrix rightMultiply(Matrix a);

    
Compute the product of this matrix and a permutation.

Parameters:
p the permutation
Returns:
this * p (newly created)
    public abstract Matrix rightMultiply(Permutation p);

    
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)
    public abstract Vector leftMultiply(Vector vector);

    
Compute the product of this matrix and a vector.

Parameters:
vector a vector
Returns:
this * vector (newly created)
    public abstract Vector rightMultiply(Vector vector);

    

Returns:
a human readable form of the matrix.
    public abstract String toString();
New to GrepCode? Check out our FAQ X