ru.sscc.matrix
Interface RealAlgebraicMatrix

All Known Implementing Classes:
RealMatrix, TransposedMatrix

public interface RealAlgebraicMatrix
extends Matrix

An algebraic matrix interface describes matrix by vector multiplication methods. A matrix is always the left multiple (in normal or transposed form) and a column-vector is always the right multiple.


Method Summary
 void multiply(RealVector source, RealVector target)
          Multiplies the matrix by a column-vector.
 void multiplyT(RealVector source, RealVector target)
          Multiplies the transposed matrix by a column-vector.
 double relativeAccuracy()
          Returns the matrix entries relative accuracy: the smallest value e such that 1+e isn't equal to 1 for the data type used for the matrix entries.
 
Methods inherited from interface ru.sscc.matrix.Matrix
columnsNumber, rowsNumber
 

Method Detail

relativeAccuracy

public double relativeAccuracy()
Returns the matrix entries relative accuracy: the smallest value e such that 1+e isn't equal to 1 for the data type used for the matrix entries.

multiply

public void multiply(RealVector source,
                     RealVector target)
              throws java.lang.IllegalStateException
Multiplies the matrix by a column-vector.
Parameters:
source - a source vector to multiply
target - a target vector to write the result
Throws:
java.lang.IllegalStateException - is thrown when the matrix isn't algebraic

multiplyT

public void multiplyT(RealVector source,
                      RealVector target)
               throws java.lang.IllegalStateException
Multiplies the transposed matrix by a column-vector.
Parameters:
source - a source vector to multiply
target - a target vector to write the result
Throws:
java.lang.IllegalStateException - is thrown when the matrix isn't algebraic