shh.csparse
Class ElemMatrix

Object
  extended byMatrix
      extended byElemMatrix
Direct Known Subclasses:
DNeg1Matrix, P2Matrix, TMatrix

public abstract class ElemMatrix
extends Matrix

The class of elementary matrices: permutations, dilations, and translations. All are invertible. In this implementation, they are immutable. Most matrix-ring operations are unsupported because they would produce non-elementary matrices in general.

To save space, we won't require ElemMatrixs to store their size. In particular, getNumRows() and getNumCols() are unsupported. We expect that ElemMatrixs will be used together with one particular "big" m × n matrix. The size of the ElemMatrixs, m × m or n × n, can be read from there. We don't check for size errors.

Author:
Mark McConnell

Constructor Summary
ElemMatrix()
           
 
Method Summary
 Matrix add(Matrix b)
          Unsupported.
abstract  int det()
          The determinant, as an int ±1.
 int getNumCols()
          Unsupported.
 int getNumRows()
          Unsupported.
 boolean isProductZero(Matrix b)
          Says whether this * b is zero, without storing the product.
 boolean isZero()
          Whether every entry in this matrix is zero.
abstract  Matrix multOnRight(Matrix b)
          Returns b * this.
 void set(SparseElt iAndVal, int j)
          Unsupported.
 
Methods inherited from class Matrix
get, inverse, isIdentity, mult, toString, transpose
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ElemMatrix

public ElemMatrix()
Method Detail

add

public Matrix add(Matrix b)
Unsupported.

Specified by:
add in class Matrix

det

public abstract int det()
The determinant, as an int ±1.


getNumCols

public int getNumCols()
Unsupported.

Specified by:
getNumCols in class Matrix

getNumRows

public int getNumRows()
Unsupported.

Specified by:
getNumRows in class Matrix

isProductZero

public final boolean isProductZero(Matrix b)
Description copied from class: Matrix
Says whether this * b is zero, without storing the product. Is not destructive.

Specified by:
isProductZero in class Matrix

isZero

public final boolean isZero()
Description copied from class: Matrix
Whether every entry in this matrix is zero.

Specified by:
isZero in class Matrix

multOnRight

public abstract Matrix multOnRight(Matrix b)
Returns b * this. Check the implementation for whether it's destructive.

See Also:
Matrix.mult(shh.csparse.Matrix)

set

public final void set(SparseElt iAndVal,
                      int j)
Unsupported.

Specified by:
set in class Matrix