ch.javasoft.smx.impl
Class DefaultBigIntegerRationalMatrix

java.lang.Object
  extended by ch.javasoft.smx.impl.DefaultBigIntegerRationalMatrix
All Implemented Interfaces:
BigIntegerRationalMatrix, MatrixBase<BigFraction>, RationalMatrix, ReadableBigIntegerRationalMatrix<BigFraction>, ReadableDoubleMatrix<BigFraction>, ReadableMatrix<BigFraction>, WritableBigIntegerMatrix<BigFraction>, WritableBigIntegerRationalMatrix<BigFraction>, WritableIntMatrix<BigFraction>, WritableIntRationalMatrix<BigFraction>, WritableLongMatrix<BigFraction>, WritableLongRationalMatrix<BigFraction>, WritableMatrix<BigFraction>, Cloneable
Direct Known Subclasses:
DefaultBigIntegerVector

public class DefaultBigIntegerRationalMatrix
extends Object
implements BigIntegerRationalMatrix


Constructor Summary
  DefaultBigIntegerRationalMatrix(BigFraction[][] values, boolean rowIsFirstDim)
           
  DefaultBigIntegerRationalMatrix(BigFraction[] values, int rowCount, int colCount)
           
  DefaultBigIntegerRationalMatrix(BigInteger[] numerators, BigInteger[] denominators, int rowCount, int colCount)
           
protected DefaultBigIntegerRationalMatrix(DefaultBigIntegerRationalMatrix toClone)
           
  DefaultBigIntegerRationalMatrix(double[][] values, boolean rowIsFirstDim, boolean adjustDoubleValues)
           
  DefaultBigIntegerRationalMatrix(double[] values, int rowCount, int colCount, boolean adjustDoubleValues)
           
  DefaultBigIntegerRationalMatrix(int rowCount, int colCount)
           
  DefaultBigIntegerRationalMatrix(long[] values, int rowCount, int colCount)
           
  DefaultBigIntegerRationalMatrix(long[] numerators, long[] denominators, int rowCount, int colCount)
           
  DefaultBigIntegerRationalMatrix(ReadableBigIntegerRationalMatrix mx)
           
  DefaultBigIntegerRationalMatrix(String[] values, int rowCount, int colCount)
           
  DefaultBigIntegerRationalMatrix(String[] numerators, String[] denominators, int rowCount, int colCount)
           
 
Method Summary
 void add(int row, int col, BigInteger value)
           
 void add(int row, int col, BigInteger numerator, BigInteger denominator)
           
 void add(int row, int col, int value)
           
 void add(int row, int col, int numerator, int denominator)
           
 void add(int row, int col, long value)
           
 void add(int row, int col, long numerator, long denominator)
           
 void addRowToOtherRow(int srcRow, BigInteger srcNumerator, BigInteger srcDenominator, int dstRow, BigInteger dstNumerator, BigInteger dstDenominator)
           
 void addRowToOtherRow(int srcRow, BigInteger srcFactor, int dstRow, BigInteger dstFactor)
           
 void addRowToOtherRow(int srcRow, int srcFactor, int dstRow, int dstFactor)
           
 void addRowToOtherRow(int srcRow, int srcNumerator, int srcDenominator, int dstRow, int dstNumerator, int dstDenominator)
           
 void addRowToOtherRow(int srcRow, long srcFactor, int dstRow, long dstFactor)
           
 void addRowToOtherRow(int srcRow, long srcNumerator, long srcDenominator, int dstRow, long dstNumerator, long dstDenominator)
           
 DefaultBigIntegerRationalMatrix clone()
           
 BigFraction getBigFractionValueAt(int row, int col)
           
 BigInteger getBigIntegerDenominatorAt(int row, int col)
           
 BigInteger getBigIntegerNumeratorAt(int row, int col)
           
 int getColumnCount()
           
 double[] getDoubleColumn(int col)
           
 double[][] getDoubleColumns()
           
 double[] getDoubleRow(int row)
           
 double[][] getDoubleRows()
           
 double getDoubleValueAt(int row, int col)
           
 MatrixOperations<BigFraction> getMatrixOperations()
           
 BigFractionOperations getNumberOperations()
           
 BigFraction[][] getNumberRows()
           
static BigFraction[][] getNumberRows(ReadableBigIntegerRationalMatrix<BigFraction> mx)
           
 BigFraction getNumberValueAt(int row, int col)
           
 int getRowCount()
           
 int getSignumAt(int row, int col)
           
 void multiply(int row, int col, BigInteger factor)
           
 void multiply(int row, int col, BigInteger numerator, BigInteger denominator)
           
 void multiply(int row, int col, int factor)
           
 void multiply(int row, int col, int numerator, int denominator)
           
 void multiply(int row, int col, long factor)
           
 void multiply(int row, int col, long numerator, long denominator)
           
 void multiplyRow(int row, BigInteger factor)
           
 void multiplyRow(int row, BigInteger numerator, BigInteger denominator)
           
 void multiplyRow(int row, int factor)
           
 void multiplyRow(int row, int numerator, int denominator)
           
 void multiplyRow(int row, long factor)
           
 void multiplyRow(int row, long numerator, long denominator)
           
 void negate(int row, int col)
           
 DefaultBigIntegerRationalMatrix newInstance(BigFraction[][] data, boolean rowsInDim1)
           
 DefaultBigIntegerRationalMatrix newInstance(int rows, int cols)
           
 boolean reduce()
          Reduce the whole matrix, that is, divide numerators/denominators by their greatest common divisor
 boolean reduceRow(int row)
          Reduce the specified row, that is, divide numerators/denominators by their greatest common divisor
 boolean reduceValueAt(int row, int col)
          Reduce the specified value, that is, divide numerator/denominator by their greatest common divisor
 void setValueAt(int row, int col, BigFraction value)
           
 void setValueAt(int row, int col, BigInteger value)
           
 void setValueAt(int row, int col, BigInteger numerator, BigInteger denominator)
           
 void setValueAt(int row, int col, int value)
           
 void setValueAt(int row, int col, int numerator, int denominator)
           
 void setValueAt(int row, int col, long value)
           
 void setValueAt(int row, int col, long numerator, long denominator)
           
 BigIntegerRationalMatrix subBigIntegerRationalMatrix(int rowStart, int rowEnd, int colStart, int colEnd)
           
 DoubleMatrix subDoubleMatrix(int rowStart, int rowEnd, int colStart, int colEnd)
           
 void swapColumns(int colA, int colB)
           
 void swapRows(int rowA, int rowB)
           
 void toArray(double[] array)
           
 BigIntegerRationalMatrix toBigIntegerRationalMatrix(boolean enforceNewInstance)
           
 double[] toDoubleArray()
           
 DoubleMatrix toDoubleMatrix(boolean enforceNewInstance)
           
 String toMultilineString()
           
static String toMultilineString(ReadableBigIntegerRationalMatrix mx)
           
 BigIntegerRationalMatrix toReadableMatrix(boolean enforceNewInstance)
           
 String toString()
           
static String toString(ReadableBigIntegerRationalMatrix mx)
           
protected static String toString(ReadableBigIntegerRationalMatrix mx, String prefix, String postfix, String rowPrefix, String rowPostfix, String rowSeparator, String colPrefix, String colPostfix, String colSeparator)
           
 BigIntegerRationalMatrix toWritableMatrix(boolean enforceNewInstance)
           
 DefaultBigIntegerRationalMatrix transpose()
           
 void writeTo(OutputStream out)
           
static void writeTo(OutputStream out, ReadableBigIntegerRationalMatrix mx)
           
protected static void writeTo(PrintWriter writer, ReadableBigIntegerRationalMatrix mx, String prefix, String postfix, String rowPrefix, String rowPostfix, String rowSeparator, String colPrefix, String colPostfix, String colSeparator)
           
 void writeTo(Writer writer)
           
static void writeTo(Writer writer, ReadableBigIntegerRationalMatrix mx)
           
 void writeToMultiline(OutputStream out)
           
static void writeToMultiline(OutputStream out, ReadableBigIntegerRationalMatrix mx)
           
 void writeToMultiline(Writer writer)
           
static void writeToMultiline(Writer writer, ReadableBigIntegerRationalMatrix mx)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(int rowCount,
                                       int colCount)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(ReadableBigIntegerRationalMatrix mx)

DefaultBigIntegerRationalMatrix

protected DefaultBigIntegerRationalMatrix(DefaultBigIntegerRationalMatrix toClone)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(String[] values,
                                       int rowCount,
                                       int colCount)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(double[][] values,
                                       boolean rowIsFirstDim,
                                       boolean adjustDoubleValues)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(double[] values,
                                       int rowCount,
                                       int colCount,
                                       boolean adjustDoubleValues)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(String[] numerators,
                                       String[] denominators,
                                       int rowCount,
                                       int colCount)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(long[] values,
                                       int rowCount,
                                       int colCount)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(long[] numerators,
                                       long[] denominators,
                                       int rowCount,
                                       int colCount)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(BigFraction[][] values,
                                       boolean rowIsFirstDim)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(BigFraction[] values,
                                       int rowCount,
                                       int colCount)

DefaultBigIntegerRationalMatrix

public DefaultBigIntegerRationalMatrix(BigInteger[] numerators,
                                       BigInteger[] denominators,
                                       int rowCount,
                                       int colCount)
Method Detail

getNumberOperations

public BigFractionOperations getNumberOperations()
Specified by:
getNumberOperations in interface MatrixBase<BigFraction>

getMatrixOperations

public MatrixOperations<BigFraction> getMatrixOperations()
Specified by:
getMatrixOperations in interface MatrixBase<BigFraction>

getBigFractionValueAt

public BigFraction getBigFractionValueAt(int row,
                                         int col)
Specified by:
getBigFractionValueAt in interface ReadableBigIntegerRationalMatrix<BigFraction>

getBigIntegerNumeratorAt

public BigInteger getBigIntegerNumeratorAt(int row,
                                           int col)
Specified by:
getBigIntegerNumeratorAt in interface ReadableBigIntegerRationalMatrix<BigFraction>

getBigIntegerDenominatorAt

public BigInteger getBigIntegerDenominatorAt(int row,
                                             int col)
Specified by:
getBigIntegerDenominatorAt in interface ReadableBigIntegerRationalMatrix<BigFraction>

getSignumAt

public int getSignumAt(int row,
                       int col)
Specified by:
getSignumAt in interface ReadableMatrix<BigFraction>

subBigIntegerRationalMatrix

public BigIntegerRationalMatrix subBigIntegerRationalMatrix(int rowStart,
                                                            int rowEnd,
                                                            int colStart,
                                                            int colEnd)
Specified by:
subBigIntegerRationalMatrix in interface ReadableBigIntegerRationalMatrix<BigFraction>

toBigIntegerRationalMatrix

public BigIntegerRationalMatrix toBigIntegerRationalMatrix(boolean enforceNewInstance)
Specified by:
toBigIntegerRationalMatrix in interface ReadableBigIntegerRationalMatrix<BigFraction>

toWritableMatrix

public BigIntegerRationalMatrix toWritableMatrix(boolean enforceNewInstance)
Specified by:
toWritableMatrix in interface ReadableMatrix<BigFraction>

toReadableMatrix

public BigIntegerRationalMatrix toReadableMatrix(boolean enforceNewInstance)
Specified by:
toReadableMatrix in interface WritableMatrix<BigFraction>

getDoubleColumn

public double[] getDoubleColumn(int col)
Specified by:
getDoubleColumn in interface ReadableDoubleMatrix<BigFraction>

getDoubleColumns

public double[][] getDoubleColumns()
Specified by:
getDoubleColumns in interface ReadableDoubleMatrix<BigFraction>

getDoubleRow

public double[] getDoubleRow(int row)
Specified by:
getDoubleRow in interface ReadableDoubleMatrix<BigFraction>

getDoubleRows

public double[][] getDoubleRows()
Specified by:
getDoubleRows in interface ReadableDoubleMatrix<BigFraction>

getDoubleValueAt

public double getDoubleValueAt(int row,
                               int col)
Specified by:
getDoubleValueAt in interface ReadableDoubleMatrix<BigFraction>

subDoubleMatrix

public DoubleMatrix subDoubleMatrix(int rowStart,
                                    int rowEnd,
                                    int colStart,
                                    int colEnd)
Specified by:
subDoubleMatrix in interface ReadableDoubleMatrix<BigFraction>

toArray

public void toArray(double[] array)
Specified by:
toArray in interface ReadableDoubleMatrix<BigFraction>

toDoubleArray

public double[] toDoubleArray()
Specified by:
toDoubleArray in interface ReadableDoubleMatrix<BigFraction>

toDoubleMatrix

public DoubleMatrix toDoubleMatrix(boolean enforceNewInstance)
Specified by:
toDoubleMatrix in interface ReadableDoubleMatrix<BigFraction>

getNumberValueAt

public BigFraction getNumberValueAt(int row,
                                    int col)
Specified by:
getNumberValueAt in interface ReadableMatrix<BigFraction>

getColumnCount

public int getColumnCount()
Specified by:
getColumnCount in interface MatrixBase<BigFraction>

getRowCount

public int getRowCount()
Specified by:
getRowCount in interface MatrixBase<BigFraction>

add

public void add(int row,
                int col,
                BigInteger numerator,
                BigInteger denominator)
Specified by:
add in interface WritableBigIntegerRationalMatrix<BigFraction>

addRowToOtherRow

public void addRowToOtherRow(int srcRow,
                             BigInteger srcNumerator,
                             BigInteger srcDenominator,
                             int dstRow,
                             BigInteger dstNumerator,
                             BigInteger dstDenominator)
Specified by:
addRowToOtherRow in interface WritableBigIntegerRationalMatrix<BigFraction>

multiply

public void multiply(int row,
                     int col,
                     BigInteger numerator,
                     BigInteger denominator)
Specified by:
multiply in interface WritableBigIntegerRationalMatrix<BigFraction>

multiplyRow

public void multiplyRow(int row,
                        BigInteger numerator,
                        BigInteger denominator)
Specified by:
multiplyRow in interface WritableBigIntegerRationalMatrix<BigFraction>

setValueAt

public void setValueAt(int row,
                       int col,
                       BigInteger numerator,
                       BigInteger denominator)
Specified by:
setValueAt in interface WritableBigIntegerRationalMatrix<BigFraction>

setValueAt

public void setValueAt(int row,
                       int col,
                       BigFraction value)
Specified by:
setValueAt in interface WritableBigIntegerRationalMatrix<BigFraction>
Specified by:
setValueAt in interface WritableMatrix<BigFraction>

reduce

public boolean reduce()
Description copied from interface: RationalMatrix
Reduce the whole matrix, that is, divide numerators/denominators by their greatest common divisor

Specified by:
reduce in interface RationalMatrix
Returns:
true if any value has been changed in the matrix

reduceRow

public boolean reduceRow(int row)
Description copied from interface: RationalMatrix
Reduce the specified row, that is, divide numerators/denominators by their greatest common divisor

Specified by:
reduceRow in interface RationalMatrix
Returns:
true if any value has been changed in the given row

reduceValueAt

public boolean reduceValueAt(int row,
                             int col)
Description copied from interface: RationalMatrix
Reduce the specified value, that is, divide numerator/denominator by their greatest common divisor

Specified by:
reduceValueAt in interface RationalMatrix
Returns:
true if the value has been changed

add

public void add(int row,
                int col,
                long numerator,
                long denominator)
Specified by:
add in interface WritableLongRationalMatrix<BigFraction>

addRowToOtherRow

public void addRowToOtherRow(int srcRow,
                             long srcNumerator,
                             long srcDenominator,
                             int dstRow,
                             long dstNumerator,
                             long dstDenominator)
Specified by:
addRowToOtherRow in interface WritableLongRationalMatrix<BigFraction>

multiply

public void multiply(int row,
                     int col,
                     long numerator,
                     long denominator)
Specified by:
multiply in interface WritableLongRationalMatrix<BigFraction>

multiplyRow

public void multiplyRow(int row,
                        long numerator,
                        long denominator)
Specified by:
multiplyRow in interface WritableLongRationalMatrix<BigFraction>

setValueAt

public void setValueAt(int row,
                       int col,
                       long numerator,
                       long denominator)
Specified by:
setValueAt in interface WritableLongRationalMatrix<BigFraction>

add

public void add(int row,
                int col,
                long value)
Specified by:
add in interface WritableLongMatrix<BigFraction>

addRowToOtherRow

public void addRowToOtherRow(int srcRow,
                             long srcFactor,
                             int dstRow,
                             long dstFactor)
Specified by:
addRowToOtherRow in interface WritableLongMatrix<BigFraction>

multiply

public void multiply(int row,
                     int col,
                     long factor)
Specified by:
multiply in interface WritableLongMatrix<BigFraction>

multiplyRow

public void multiplyRow(int row,
                        long factor)
Specified by:
multiplyRow in interface WritableLongMatrix<BigFraction>

setValueAt

public void setValueAt(int row,
                       int col,
                       long value)
Specified by:
setValueAt in interface WritableLongMatrix<BigFraction>

add

public void add(int row,
                int col,
                int value)
Specified by:
add in interface WritableIntMatrix<BigFraction>

addRowToOtherRow

public void addRowToOtherRow(int srcRow,
                             int srcFactor,
                             int dstRow,
                             int dstFactor)
Specified by:
addRowToOtherRow in interface WritableIntMatrix<BigFraction>

multiply

public void multiply(int row,
                     int col,
                     int factor)
Specified by:
multiply in interface WritableIntMatrix<BigFraction>

multiplyRow

public void multiplyRow(int row,
                        int factor)
Specified by:
multiplyRow in interface WritableIntMatrix<BigFraction>

setValueAt

public void setValueAt(int row,
                       int col,
                       int value)
Specified by:
setValueAt in interface WritableIntMatrix<BigFraction>

swapColumns

public void swapColumns(int colA,
                        int colB)
Specified by:
swapColumns in interface WritableMatrix<BigFraction>

swapRows

public void swapRows(int rowA,
                     int rowB)
Specified by:
swapRows in interface WritableMatrix<BigFraction>

add

public void add(int row,
                int col,
                int numerator,
                int denominator)
Specified by:
add in interface WritableIntRationalMatrix<BigFraction>

addRowToOtherRow

public void addRowToOtherRow(int srcRow,
                             int srcNumerator,
                             int srcDenominator,
                             int dstRow,
                             int dstNumerator,
                             int dstDenominator)
Specified by:
addRowToOtherRow in interface WritableIntRationalMatrix<BigFraction>

multiply

public void multiply(int row,
                     int col,
                     int numerator,
                     int denominator)
Specified by:
multiply in interface WritableIntRationalMatrix<BigFraction>

multiplyRow

public void multiplyRow(int row,
                        int numerator,
                        int denominator)
Specified by:
multiplyRow in interface WritableIntRationalMatrix<BigFraction>

setValueAt

public void setValueAt(int row,
                       int col,
                       int numerator,
                       int denominator)
Specified by:
setValueAt in interface WritableIntRationalMatrix<BigFraction>

clone

public DefaultBigIntegerRationalMatrix clone()
Specified by:
clone in interface BigIntegerRationalMatrix
Specified by:
clone in interface MatrixBase<BigFraction>
Specified by:
clone in interface ReadableMatrix<BigFraction>
Specified by:
clone in interface WritableMatrix<BigFraction>
Overrides:
clone in class Object

newInstance

public DefaultBigIntegerRationalMatrix newInstance(int rows,
                                                   int cols)
Specified by:
newInstance in interface BigIntegerRationalMatrix
Specified by:
newInstance in interface MatrixBase<BigFraction>
Specified by:
newInstance in interface ReadableMatrix<BigFraction>
Specified by:
newInstance in interface WritableMatrix<BigFraction>

newInstance

public DefaultBigIntegerRationalMatrix newInstance(BigFraction[][] data,
                                                   boolean rowsInDim1)
Specified by:
newInstance in interface BigIntegerRationalMatrix
Specified by:
newInstance in interface MatrixBase<BigFraction>
Specified by:
newInstance in interface ReadableMatrix<BigFraction>
Specified by:
newInstance in interface WritableMatrix<BigFraction>

toString

public String toString()
Specified by:
toString in interface MatrixBase<BigFraction>
Overrides:
toString in class Object

writeTo

public void writeTo(Writer writer)
Specified by:
writeTo in interface MatrixBase<BigFraction>

writeTo

public void writeTo(OutputStream out)
Specified by:
writeTo in interface MatrixBase<BigFraction>

toString

public static String toString(ReadableBigIntegerRationalMatrix mx)

writeTo

public static void writeTo(Writer writer,
                           ReadableBigIntegerRationalMatrix mx)

writeTo

public static void writeTo(OutputStream out,
                           ReadableBigIntegerRationalMatrix mx)

toMultilineString

public String toMultilineString()
Specified by:
toMultilineString in interface MatrixBase<BigFraction>

writeToMultiline

public void writeToMultiline(Writer writer)
Specified by:
writeToMultiline in interface MatrixBase<BigFraction>

writeToMultiline

public void writeToMultiline(OutputStream out)
Specified by:
writeToMultiline in interface MatrixBase<BigFraction>

toMultilineString

public static String toMultilineString(ReadableBigIntegerRationalMatrix mx)

writeToMultiline

public static void writeToMultiline(Writer writer,
                                    ReadableBigIntegerRationalMatrix mx)

writeToMultiline

public static void writeToMultiline(OutputStream out,
                                    ReadableBigIntegerRationalMatrix mx)

toString

protected static String toString(ReadableBigIntegerRationalMatrix mx,
                                 String prefix,
                                 String postfix,
                                 String rowPrefix,
                                 String rowPostfix,
                                 String rowSeparator,
                                 String colPrefix,
                                 String colPostfix,
                                 String colSeparator)

writeTo

protected static void writeTo(PrintWriter writer,
                              ReadableBigIntegerRationalMatrix mx,
                              String prefix,
                              String postfix,
                              String rowPrefix,
                              String rowPostfix,
                              String rowSeparator,
                              String colPrefix,
                              String colPostfix,
                              String colSeparator)

transpose

public DefaultBigIntegerRationalMatrix transpose()
Specified by:
transpose in interface BigIntegerRationalMatrix
Specified by:
transpose in interface MatrixBase<BigFraction>
Specified by:
transpose in interface ReadableMatrix<BigFraction>
Specified by:
transpose in interface WritableMatrix<BigFraction>

getNumberRows

public BigFraction[][] getNumberRows()
Specified by:
getNumberRows in interface ReadableMatrix<BigFraction>

getNumberRows

public static BigFraction[][] getNumberRows(ReadableBigIntegerRationalMatrix<BigFraction> mx)

add

public void add(int row,
                int col,
                BigInteger value)
Specified by:
add in interface WritableBigIntegerMatrix<BigFraction>

addRowToOtherRow

public void addRowToOtherRow(int srcRow,
                             BigInteger srcFactor,
                             int dstRow,
                             BigInteger dstFactor)
Specified by:
addRowToOtherRow in interface WritableBigIntegerMatrix<BigFraction>

multiply

public void multiply(int row,
                     int col,
                     BigInteger factor)
Specified by:
multiply in interface WritableBigIntegerMatrix<BigFraction>

multiplyRow

public void multiplyRow(int row,
                        BigInteger factor)
Specified by:
multiplyRow in interface WritableBigIntegerMatrix<BigFraction>

setValueAt

public void setValueAt(int row,
                       int col,
                       BigInteger value)
Specified by:
setValueAt in interface WritableBigIntegerMatrix<BigFraction>

negate

public void negate(int row,
                   int col)
Specified by:
negate in interface WritableMatrix<BigFraction>