VirtualOrganization.Math
Class Matrix

java.lang.Object
  |
  +--VirtualOrganization.Math.Matrix

public class Matrix
extends java.lang.Object


Field Summary
 double[][] array
           
 int columns
           
 int rows
           
 
Constructor Summary
Matrix()
           
Matrix(double[][] arr)
           
Matrix(int m, int n)
           
Matrix(int m, int n, double v)
           
Matrix(VirtualOrganization.Math.Matrix other)
           
 
Method Summary
 void checkMatrixDimensions(VirtualOrganization.Math.Matrix other)
          Check if size(A) == size(B)
 double determinant()
          Matrix determinant
 double get(int i, int j)
           
 double[][] getArray()
           
 double[][] getArrayCopy()
           
 int getColumnDimension()
           
 VirtualOrganization.Math.Matrix getMatrix(int[] r, int j0, int j1)
          Get a submatrix.
 VirtualOrganization.Math.Matrix getMatrix(int i0, int i1, int j0, int j1)
          Get a submatrix.
 int getRowDimension()
           
static VirtualOrganization.Math.Matrix identity(int m, int n)
          Generate identity matrix
 VirtualOrganization.Math.Matrix inverse()
          Matrix inverse or pseudoinverse
 VirtualOrganization.Math.Matrix minus(VirtualOrganization.Math.Matrix other)
           
 VirtualOrganization.Math.Matrix plus(VirtualOrganization.Math.Matrix other)
           
 void print(int w, int d)
          Print the matrix to stdout.
 void print(java.io.PrintWriter output, int w, int d)
           
 void print(java.io.PrintWriter output, java.text.NumberFormat format, int width)
           
 void set(int i, int j, double s)
           
 void setMatrix(int i0, int i1, int j0, int j1, VirtualOrganization.Math.Matrix other)
          Set a submatrix.
 VirtualOrganization.Math.Matrix solve(VirtualOrganization.Math.Matrix B)
           
 VirtualOrganization.Math.Matrix times(double s)
           
 VirtualOrganization.Math.Matrix times(VirtualOrganization.Math.Matrix other)
           
 double trace()
          Matrix trace.
 VirtualOrganization.Math.Matrix transpose()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

array

public double[][] array

rows

public int rows

columns

public int columns
Constructor Detail

Matrix

public Matrix(VirtualOrganization.Math.Matrix other)

Matrix

public Matrix()

Matrix

public Matrix(int m,
              int n)

Matrix

public Matrix(int m,
              int n,
              double v)

Matrix

public Matrix(double[][] arr)
Method Detail

getRowDimension

public int getRowDimension()

getColumnDimension

public int getColumnDimension()

getArray

public double[][] getArray()

getArrayCopy

public double[][] getArrayCopy()

get

public double get(int i,
                  int j)

getMatrix

public VirtualOrganization.Math.Matrix getMatrix(int i0,
                                                 int i1,
                                                 int j0,
                                                 int j1)
Get a submatrix.

Parameters:
i0 - Initial row index
i1 - Final row index
j0 - Initial column index
j1 - Final column index
Returns:
A(i0:i1,j0:j1)
Throws:
java.lang.ArrayIndexOutOfBoundsException - Submatrix indices

getMatrix

public VirtualOrganization.Math.Matrix getMatrix(int[] r,
                                                 int j0,
                                                 int j1)
Get a submatrix.

Parameters:
r - Array of row indices.
Returns:
A(r(:),j0:j1)
Throws:
java.lang.ArrayIndexOutOfBoundsException - Submatrix indices

set

public void set(int i,
                int j,
                double s)

setMatrix

public void setMatrix(int i0,
                      int i1,
                      int j0,
                      int j1,
                      VirtualOrganization.Math.Matrix other)
Set a submatrix.

Parameters:
i0 - Initial row index
i1 - Final row index
j0 - Initial column index
j1 - Final column index
Throws:
java.lang.ArrayIndexOutOfBoundsException - Submatrix indices

plus

public VirtualOrganization.Math.Matrix plus(VirtualOrganization.Math.Matrix other)

minus

public VirtualOrganization.Math.Matrix minus(VirtualOrganization.Math.Matrix other)

times

public VirtualOrganization.Math.Matrix times(double s)

times

public VirtualOrganization.Math.Matrix times(VirtualOrganization.Math.Matrix other)

transpose

public VirtualOrganization.Math.Matrix transpose()

determinant

public double determinant()
Matrix determinant

Returns:
determinant

trace

public double trace()
Matrix trace.

Returns:
sum of the diagonal elements.

inverse

public VirtualOrganization.Math.Matrix inverse()
Matrix inverse or pseudoinverse

Returns:
inverse(A) if A is square, pseudoinverse otherwise.

solve

public VirtualOrganization.Math.Matrix solve(VirtualOrganization.Math.Matrix B)

identity

public static VirtualOrganization.Math.Matrix identity(int m,
                                                       int n)
Generate identity matrix

Parameters:
m - Number of rows.
n - Number of colums.
Returns:
An m-by-n matrix with ones on the diagonal and zeros elsewhere.

checkMatrixDimensions

public void checkMatrixDimensions(VirtualOrganization.Math.Matrix other)
Check if size(A) == size(B)


print

public void print(int w,
                  int d)
Print the matrix to stdout. Line the elements up in columns with a Fortran-like 'Fw.d' style format.

Parameters:
w - Column width.
d - Number of digits after the decimal.

print

public void print(java.io.PrintWriter output,
                  int w,
                  int d)

print

public void print(java.io.PrintWriter output,
                  java.text.NumberFormat format,
                  int width)