package jsci.maths.matrices;
import jsci.maths.algebras.Algebra;
/**
* The Matrix superclass provides an abstract encapsulation for matrices.
* @jsci.planetmath Matrix
* @version 2.2
* @author Mark Hale
*/
public abstract class Matrix extends Object implements Algebra.Member {
/**
* The number of rows.
*/
protected final int numRows;
/**
* The number of columns.
*/
protected final int numCols;
/**
* Constructs a matrix.
*/
public Matrix(int rows, int cols) {
numRows = rows;
numCols = cols;
}
/**
* Returns the number of rows.
*/
public final int rows() {
return numRows;
}
/**
* Returns the number of columns.
*/
public final int columns() {
return numCols;
}
/**
* Returns the transpose of this matrix.
* @jsci.planetmath Transpose
*/
public abstract Matrix transpose();
/**
* Returns an "invalid element" error message.
* @param i row index of the element
* @param j column index of the element
*/
protected static String getInvalidElementMsg(int i, int j) {
return "("+i+','+j+") is an invalid element for this matrix.";
}
}
Ads help maintain this website.