public class FractionMatrixMath
extends java.lang.Object
Rows and column numbers of matrices are specified with zero-based indices. All calls expect matrix arguments to be non-null. In addition, all rows of the matrix are expected to have the same number of columns.
Modifier and Type | Method and Description |
---|---|
protected static void |
_checkSameDimension(java.lang.String caller,
Fraction[][] matrix1,
Fraction[][] matrix2)
Check that the two matrix arguments are of the same dimension.
|
protected static int |
_checkSquare(java.lang.String caller,
Fraction[][] matrix)
Check that the argument matrix is a square matrix.
|
protected static int |
_columns(Fraction[][] matrix)
Return the number of columns of a matrix.
|
protected static java.lang.String |
_dimensionString(Fraction[][] matrix)
Return a string that describes the number of rows and columns.
|
protected static int |
_rows(Fraction[][] matrix)
Return the number of rows of a matrix.
|
static Fraction[][] |
add(Fraction[][] matrix,
Fraction z)
Return a new matrix that is constructed from the argument by
adding the second argument to every element.
|
static Fraction[][] |
add(Fraction[][] matrix1,
Fraction[][] matrix2)
Return a new matrix that is constructed from the argument by
adding the second matrix to the first one.
|
static Fraction[][] |
allocCopy(Fraction[][] matrix)
Return a new matrix that is a copy of the matrix argument.
|
static Fraction[][] |
crop(Fraction[][] matrix,
int rowStart,
int colStart,
int rowSpan,
int colSpan)
Return a new matrix that is a sub-matrix of the input
matrix argument.
|
static Fraction[][] |
diag(Fraction[] array)
Return a new matrix that is constructed by placing the
elements of the input array on the diagonal of the square
matrix, starting from the top left corner down to the bottom
right corner.
|
static Fraction[][] |
divide(Fraction[][] matrix,
Fraction z)
Return a new matrix that is constructed from the argument by
dividing the second argument to every element.
|
static Fraction[][] |
divideElements(Fraction[][] matrix1,
Fraction[][] matrix2)
Return a new matrix that is constructed by element by element
division of the two matrix arguments.
|
static Fraction[] |
fromMatrixToArray(Fraction[][] matrix)
Return a new array that is filled with the contents of the matrix.
|
static Fraction[] |
fromMatrixToArray(Fraction[][] matrix,
int maxRow,
int maxCol)
Return a new array that is filled with the contents of the matrix.
|
static Fraction[][] |
identity(int dim)
Return an new identity matrix with the specified dimension.
|
static Fraction[][] |
multiply(Fraction[][] matrix,
Fraction scaleFactor)
Return a new matrix that is constructed by multiplying the matrix
by a scaleFactor.
|
static Fraction[] |
multiply(Fraction[][] matrix,
Fraction[] array)
Return a new array that is constructed from the argument by
post-multiplying the matrix by an array (treated as a column vector).
|
static Fraction[][] |
multiply(Fraction[][] matrix1,
Fraction[][] matrix2)
Return a new matrix that is constructed from the argument by
multiplying the first matrix by the second one.
|
static Fraction[] |
multiply(Fraction[] array,
Fraction[][] matrix)
Return a new array that is constructed from the argument by
pre-multiplying the matrix by an array (treated as a row vector).
|
static Fraction[][] |
multiplyElements(Fraction[][] matrix1,
Fraction[][] matrix2)
Return a new matrix that is constructed by element by element
multiplication of the two matrix arguments.
|
static Fraction[][] |
negative(Fraction[][] matrix)
Return a new matrix that is the additive inverse of the
argument matrix.
|
static Fraction[][] |
subtract(Fraction[][] matrix1,
Fraction[][] matrix2)
Return a new matrix that is constructed from the argument by
subtracting the second matrix from the first one.
|
static Fraction |
sum(Fraction[][] matrix)
Return the sum of the elements of a matrix.
|
static double[][] |
toDoubleMatrix(Fraction[][] matrix)
Return a new matrix that is formed by converting the Fractions in
the argument matrix to doubles.
|
static Fraction[][] |
toMatrixFromArray(Fraction[] array,
int rows,
int cols)
Return a new matrix of Fractions that is initialized from a 1-D array.
|
static java.lang.String |
toString(Fraction[][] matrix)
Return a new String representing the matrix, formatted as
in Java array initializers.
|
static java.lang.String |
toString(Fraction[][] matrix,
java.lang.String elementDelimiter,
java.lang.String matrixBegin,
java.lang.String matrixEnd,
java.lang.String vectorBegin,
java.lang.String vectorDelimiter,
java.lang.String vectorEnd)
Return a new String representing the matrix, formatted as
specified by the ArrayStringFormat argument.
|
static Fraction |
trace(Fraction[][] matrix)
Return the trace of a square matrix, which is the sum of the
diagonal entries A11 + A22 + ... + Ann
Throw an IllegalArgumentException if the matrix is not square.
|
static Fraction[][] |
transpose(Fraction[][] matrix)
Return a new matrix that is constructed by transposing the input
matrix.
|
public static final Fraction[][] add(Fraction[][] matrix, Fraction z)
matrix
- A matrix of Fractions.z
- The Fraction to add.public static final Fraction[][] add(Fraction[][] matrix1, Fraction[][] matrix2)
matrix1
- The first matrix of Fractions.matrix2
- The second matrix of Fractions.public static final Fraction[][] allocCopy(Fraction[][] matrix)
matrix
- A matrix of Fractions.public static final Fraction[][] crop(Fraction[][] matrix, int rowStart, int colStart, int rowSpan, int colSpan)
matrix
- A matrix of Fractions.rowStart
- An int specifying which row to start on.colStart
- An int specifying which column to start on.rowSpan
- An int specifying how many rows to copy.colSpan
- An int specifying how many columns to copy.public static final Fraction[][] diag(Fraction[] array)
public static final Fraction[][] divide(Fraction[][] matrix, Fraction z)
matrix
- A matrix of Fractions.z
- The Fraction to divide by.public static final Fraction[][] divideElements(Fraction[][] matrix1, Fraction[][] matrix2)
public static final Fraction[] fromMatrixToArray(Fraction[][] matrix)
matrix
- A matrix of Fractions.public static final Fraction[] fromMatrixToArray(Fraction[][] matrix, int maxRow, int maxCol)
matrix
- A matrix of Fractions.public static final Fraction[][] identity(int dim)
public static final Fraction[][] multiply(Fraction[][] matrix, Fraction scaleFactor)
matrix
- The matrix of Fractions.scaleFactor
- The Fraction to multiply by.public static final Fraction[] multiply(Fraction[] array, Fraction[][] matrix)
array
- The array of Fractions.matrix
- The matrix of Fractions.public static final Fraction[] multiply(Fraction[][] matrix, Fraction[] array)
matrix
- The matrix of Fractions.array
- The array of Fractions.public static final Fraction[][] multiply(Fraction[][] matrix1, Fraction[][] matrix2) throws java.lang.ArithmeticException
Note that this method is different from the other multiply() methods in that this method does not do pointwise multiplication.
matrix1
- The first matrix of Fractions.matrix2
- The second matrix of Fractions.java.lang.ArithmeticException
- If the matrix dimensions don't match up.multiplyElements(Fraction[][], Fraction[][])
public static final Fraction[][] multiplyElements(Fraction[][] matrix1, Fraction[][] matrix2)
Note that this method does pointwise matrix multiplication.
matrix1
- The first matrix of Fractions.matrix2
- The second matrix of Fractions.public static final Fraction[][] negative(Fraction[][] matrix)
matrix
- the input matrix of Fractions.public static final Fraction[][] subtract(Fraction[][] matrix1, Fraction[][] matrix2)
matrix1
- The matrix to be subtracted from.matrix2
- The matrix to subtract.public static final Fraction sum(Fraction[][] matrix)
matrix
- The input matrix.public static final double[][] toDoubleMatrix(Fraction[][] matrix)
matrix
- An matrix of Fractions.public static final Fraction[][] toMatrixFromArray(Fraction[] array, int rows, int cols)
array
- An array of Fraction.rows
- An integer representing the number of rows of the new
matrix.cols
- An integer representing the number of columns of the new
matrix.public static final java.lang.String toString(Fraction[][] matrix)
public static final java.lang.String toString(Fraction[][] matrix, java.lang.String elementDelimiter, java.lang.String matrixBegin, java.lang.String matrixEnd, java.lang.String vectorBegin, java.lang.String vectorDelimiter, java.lang.String vectorEnd)
public static final Fraction trace(Fraction[][] matrix)
matrix
- A square matrix.public static final Fraction[][] transpose(Fraction[][] matrix)
matrix
- The input matrix.protected static final void _checkSameDimension(java.lang.String caller, Fraction[][] matrix1, Fraction[][] matrix2)
caller
- A string representing the caller method name.matrix1
- A matrix of ints.matrix2
- A matrix of ints.protected static final int _checkSquare(java.lang.String caller, Fraction[][] matrix)
caller
- A string representing the caller method name.matrix
- A matrix of Fractions.protected static final int _columns(Fraction[][] matrix)
matrix
- The matrix.protected static final java.lang.String _dimensionString(Fraction[][] matrix)
matrix
- The matrix that is to be described.protected static final int _rows(Fraction[][] matrix)