Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.math.linear
Interface RealMatrix

All Known Implementing Classes:
  RealMatrixImpl

public interface RealMatrix

Interface defining a real-valued matrix with basic algebraic operations.

Matrix element indexing is 0-based -- e.g., `getEntry(0, 0)` returns the element in the first row, first column of the matrix.

Version:
  $Revision: 1.25 $ $Date: 2004/10/12 06:19:50 $

Method Summary
`RealMatrix` | `add(RealMatrix m)` Compute the sum of this and m.
`RealMatrix` | `copy()` Returns a (deep) copy of this.
`double[]` | `getColumn(int col)` Returns the entries in column number `col` as an array.
`int` | `getColumnDimension()` Returns the number of columns in the matrix.
`RealMatrix` | `getColumnMatrix(int column)` Returns the entries in column number `column` as a column matrix.
`double[][]` | `getData()` Returns matrix entries as a two-dimensional array.
`double` | `getDeterminant()` Returns the determinant of this matrix.
`double` | `getEntry(int row, int column)` Returns the entry in the specified row and column.
`double` | `getNorm()` Returns the maximum absolute row sum norm of the matrix.
`double[]` | `getRow(int row)` Returns the entries in row number `row` as an array.
`int` | `getRowDimension()` Returns the number of rows in the matrix.
`RealMatrix` | `getRowMatrix(int row)` Returns the entries in row number `row` as a row matrix.
`RealMatrix` | `getSubMatrix(int[] selectedRows, int[] selectedColumns)` Gets a submatrix.
`RealMatrix` | `getSubMatrix(int startRow, int endRow, int startColumn, int endColumn)` Gets a submatrix.
`double` | `getTrace()` Returns the trace of the matrix (the sum of the elements on the main diagonal).
`RealMatrix` | `inverse()` Returns the inverse of this matrix.
`boolean` | `isSingular()` Is this a singular matrix?
`boolean` | `isSquare()` Is this a square matrix?
`RealMatrix` | `multiply(RealMatrix m)` Returns the result of postmultiplying this by m.
`double[]` | `operate(double[] v)` Returns the result of multiplying this by the vector `v`.
`double[]` | `preMultiply(double[] v)` Returns the (row) vector result of premultiplying this by the vector `v`.
`RealMatrix` | `preMultiply(RealMatrix m)` Returns the result premultiplying this by `m`.
`RealMatrix` | `scalarAdd(double d)` Returns the result of adding d to each entry of this.
`RealMatrix` | `scalarMultiply(double d)` Returns the result multiplying each entry of this by d.
`double[]` | `solve(double[] b)` Returns the solution vector for a linear system with coefficient matrix = this and constant vector = `b`.
`RealMatrix` | `solve(RealMatrix b)` Returns a matrix of (column) solution vectors for linear systems with coefficient matrix = this and constant vectors = columns of `b`.
`RealMatrix` | `subtract(RealMatrix m)` Compute this minus m.
`RealMatrix` | `transpose()` Returns the transpose of this matrix.

Method Detail

### copy

    public RealMatrix copy()

  Returns a (deep) copy of this.

  Returns:
    matrix copy

### add

    public RealMatrix add(RealMatrix m)
                   throws IllegalArgumentException

  Compute the sum of this and m.

  Parameters:
    `m` - matrix to be added
  Returns:
    this + m
  Throws:
    `IllegalArgumentException` - if m is not the same size as this

### subtract

    public RealMatrix subtract(RealMatrix m)
                        throws IllegalArgumentException

  Compute this minus m.

  Parameters:
    `m` - matrix to be subtracted
  Returns:
    this + m
  Throws:
    `IllegalArgumentException` - if m is not the same size as this

### scalarAdd

    public RealMatrix scalarAdd(double d)

  Returns the result of adding d to each entry of this.

  Parameters:
    `d` - value to be added to each entry
  Returns:
    d + this

### scalarMultiply

    public RealMatrix scalarMultiply(double d)

  Returns the result multiplying each entry of this by d.

  Parameters:
    `d` - value to multiply all entries by
  Returns:
    d * this

### multiply

    public RealMatrix multiply(RealMatrix m)
                        throws IllegalArgumentException

  Returns the result of postmultiplying this by m.

  Parameters:
    `m` - matrix to postmultiply by
  Returns:
    this * m
  Throws:
    `IllegalArgumentException` - if columnDimension(this) != rowDimension(m)

### preMultiply

    public RealMatrix preMultiply(RealMatrix m)
                           throws IllegalArgumentException

  Returns the result premultiplying this by `m`.

  Parameters:
    `m` - matrix to premultiply by
  Returns:
    m * this
  Throws:
    `IllegalArgumentException` - if rowDimension(this) != columnDimension(m)

### getData

    public double[][] getData()

  Returns matrix entries as a two-dimensional array.

  Returns:
    2-dimensional array of entries

### getNorm

    public double getNorm()

  Returns the maximum absolute row sum norm of the matrix.

  Returns:
    norm

### getSubMatrix

    public RealMatrix getSubMatrix(int startRow,
                                   int endRow,
                                   int startColumn,
                                   int endColumn)
                            throws MatrixIndexException

  Gets a submatrix. Rows and columns are indicated counting from 0 to n-1.

  Parameters:
    `startRow` - Initial row index
    `endRow` - Final row index
    `startColumn` - Initial column index
    `endColumn` - Final column index
  Returns:
    The subMatrix containing the data of the specified rows and columns
  Throws:
    `MatrixIndexException` - if the indices are not valid

### getSubMatrix

    public RealMatrix getSubMatrix(int[] selectedRows,
                                   int[] selectedColumns)
                            throws MatrixIndexException

  Gets a submatrix. Rows and columns are indicated counting from 0 to n-1.

  Parameters:
    `selectedRows` - Array of row indices.
    `selectedColumns` - Array of column indices.
  Returns:
    The subMatrix containing the data in the specified rows and columns
  Throws:
    `MatrixIndexException` - if row or column selections are not valid

### getRowMatrix

    public RealMatrix getRowMatrix(int row)
                            throws MatrixIndexException

  Returns the entries in row number `row` as a row matrix. Row indices start at 0.

  Parameters:
    `row` - the row to be fetched
  Returns:
    row matrix
  Throws:
    `MatrixIndexException` - if the specified row index is invalid

### getColumnMatrix

    public RealMatrix getColumnMatrix(int column)
                               throws MatrixIndexException

  Returns the entries in column number `column` as a column matrix. Column indices start at 0.

  Parameters:
    `column` - the column to be fetched
  Returns:
    column matrix
  Throws:
    `MatrixIndexException` - if the specified column index is invalid

### getRow

    public double[] getRow(int row)
                    throws MatrixIndexException

  Returns the entries in row number `row` as an array.

  Row indices start at 0. A `MatrixIndexException` is thrown unless `0 <= row < rowDimension.`

  Parameters:
    `row` - the row to be fetched
  Returns:
    array of entries in the row
  Throws:
    `MatrixIndexException` - if the specified row index is not valid

### getColumn

    public double[] getColumn(int col)
                       throws MatrixIndexException

  Returns the entries in column number `col` as an array.

  Column indices start at 0. A `MatrixIndexException` is thrown unless `0 <= column < columnDimension.`

  Parameters:
    `col` - the column to be fetched
  Returns:
    array of entries in the column
  Throws:
    `MatrixIndexException` - if the specified column index is not valid

### getEntry

    public double getEntry(int row,
                           int column)
                    throws MatrixIndexException

  Returns the entry in the specified row and column.

  Row and column indices start at 0 and must satisfy

  - `0 <= row < rowDimension`
  - `0 <= column < columnDimension`
  otherwise a `MatrixIndexException` is thrown.

  Parameters:
    `row` - row location of entry to be fetched
    `column` - column location of entry to be fetched
  Returns:
    matrix entry in row,column
  Throws:
    `MatrixIndexException` - if the row or column index is not valid

### transpose

    public RealMatrix transpose()

  Returns the transpose of this matrix.

  Returns:
    transpose matrix

### inverse

    public RealMatrix inverse()
                       throws InvalidMatrixException

  Returns the inverse of this matrix.

  Returns:
    inverse matrix
  Throws:
    `InvalidMatrixException` - if this is not invertible

### getDeterminant

    public double getDeterminant()

  Returns the determinant of this matrix.

  Returns:
    determinant

### isSquare

    public boolean isSquare()

  Is this a square matrix?

  Returns:
    true if the matrix is square (rowDimension = columnDimension)

### isSingular

    public boolean isSingular()

  Is this a singular matrix?

  Returns:
    true if the matrix is singular

### getRowDimension

    public int getRowDimension()

  Returns the number of rows in the matrix.

  Returns:
    rowDimension

### getColumnDimension

    public int getColumnDimension()

  Returns the number of columns in the matrix.

  Returns:
    columnDimension

### getTrace

    public double getTrace()

  Returns the trace of the matrix (the sum of the elements on the main diagonal).

  Returns:
    trace

### operate

    public double[] operate(double[] v)
                     throws IllegalArgumentException

  Returns the result of multiplying this by the vector `v`.

  Parameters:
    `v` - the vector to operate on
  Returns:
    this*v
  Throws:
    `IllegalArgumentException` - if columnDimension != v.size()

### preMultiply

    public double[] preMultiply(double[] v)
                         throws IllegalArgumentException

  Returns the (row) vector result of premultiplying this by the vector `v`.

  Parameters:
    `v` - the row vector to premultiply by
  Returns:
    v*this
  Throws:
    `IllegalArgumentException` - if rowDimension != v.size()

### solve

    public double[] solve(double[] b)
                   throws IllegalArgumentException,
                          InvalidMatrixException

  Returns the solution vector for a linear system with coefficient matrix = this and constant vector = `b`.

  Parameters:
    `b` - constant vector
  Returns:
    vector of solution values to AX = b, where A is *this
  Throws:
    `IllegalArgumentException` - if this.rowDimension != b.length
    `InvalidMatrixException` - if this matrix is not square or is singular

### solve

    public RealMatrix solve(RealMatrix b)
                     throws IllegalArgumentException,
                            InvalidMatrixException

  Returns a matrix of (column) solution vectors for linear systems with coefficient matrix = this and constant vectors = columns of `b`.

  Parameters:
    `b` - matrix of constant vectors forming RHS of linear systems to to solve
  Returns:
    matrix of solution vectors
  Throws:
    `IllegalArgumentException` - if this.rowDimension != row dimension
    `InvalidMatrixException` - if this matrix is not square or is singular

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2004 The Apache Software Foundation. All Rights Reserved.