## org.apache.mahout.math
Interface Matrix

All Superinterfaces:
  Cloneable, Iterable<MatrixSlice>, VectorIterable

All Known Implementing Classes:
  AbstractMatrix, DenseMatrix, DenseSymmetricMatrix, DiagonalMatrix, FileBasedMatrix, FileBasedSparseBinaryMatrix, MatrixView, PivotedMatrix, RandomTrinaryMatrix, SparseColumnMatrix, SparseMatrix, SparseRowMatrix, UpperTriangular

    public interface Matrix

extends Cloneable, VectorIterable

The basic interface including numerous convenience functions

Method Summary
`double` `aggregate(DoubleDoubleFunction combiner, DoubleFunction mapper)` Collects the results of a function applied to each element of a matrix and then aggregated.
`Vector` `aggregateColumns(VectorFunction f)` Collects the results of a function applied to each column of a matrix.
`Vector` `aggregateRows(VectorFunction f)` Collects the results of a function applied to each row of a matrix.
`String` `asFormatString()`
`Matrix` `assign(double value)` Assign the value to all elements of the receiver
`Matrix` `assign(double[][] values)` Assign the values to the receiver
`Matrix` `assign(DoubleFunction function)` Apply the function to each element of the receiver
`Matrix` `assign(Matrix other)` Assign the other vector values to the receiver
`Matrix` `assign(Matrix other, DoubleDoubleFunction function)` Apply the function to each element of the receiver and the corresponding element of the other argument
`Matrix` `assignColumn(int column, Vector other)` Assign the other vector values to the column of the receiver
`Matrix` `assignRow(int row, Vector other)` Assign the other vector values to the row of the receiver
`Matrix` `clone()` Return a copy of the recipient
`int` `columnSize()`
`double` `determinant()` Returns matrix determinator using Laplace theorem
`Matrix` `divide(double x)` Return a new matrix containing the values of the recipient divided by the argument
`double` `get(int row, int column)` Return the value at the given indexes
`double` `get(String rowLabel, String columnLabel)` Return the value at the given labels
`Map<String,Integer>` `getColumnLabelBindings()` Return a map of the current column label bindings of the receiver
`int[]` `getNumNondefaultElements()` Return the number of values in the recipient
`double` `getQuick(int row, int column)` Return the value at the given indexes, without checking bounds
`Map<String,Integer>` `getRowLabelBindings()` Return a map of the current row label bindings of the receiver
`Matrix` `like()` Return an empty matrix of the same underlying class as the receiver
`Matrix` `like(int rows, int columns)` Returns an empty matrix of the same underlying class as the receiver and of the specified size.
`Matrix` `minus(Matrix x)` Return a new matrix containing the element by element difference of the recipient and the argument
`Matrix` `plus(double x)` Return a new matrix containing the sum of each value of the recipient and the argument
`Matrix` `plus(Matrix x)` Return a new matrix containing the element by element sum of the recipient and the argument
`int` `rowSize()`
`void` `set(int row, double[] data)`
`void` `set(int row, int column, double value)` Set the value at the given index
`void` `set(String rowLabel, double[] rowData)` Sets the row values at the given row label
`void` `set(String rowLabel, int row, double[] rowData)` Sets the row values at the given row index and updates the row labels
`void` `set(String rowLabel, String columnLabel, double value)` Set the value at the given index
`void` `set(String rowLabel, String columnLabel, int row, int column, double value)` Set the value at the given index, updating the row and column label bindings
`void` `setColumnLabelBindings(Map<String,Integer> bindings)` Sets a map of column label bindings in the receiver
`void` `setQuick(int row, int column, double value)` Set the value at the given index, without checking bounds
`void` `setRowLabelBindings(Map<String,Integer> bindings)` Sets a map of row label bindings in the receiver
`Matrix` `times(double x)` Return a new matrix containing the product of each value of the recipient and the argument
`Matrix` `times(Matrix x)` Return a new matrix containing the product of the recipient and the argument
`Matrix` `transpose()` Return a new matrix that is the transpose of the receiver
`Vector` `viewColumn(int column)` Return a reference to a column.
`Vector` `viewDiagonal()` Returns a reference to the diagonal of a matrix.
`Matrix` `viewPart(int[] offset, int[] size)` Return a view into part of a matrix.
`Matrix` `viewPart(int rowOffset, int rowsRequested, int columnOffset, int columnsRequested)` Return a view into part of a matrix.
`Vector` `viewRow(int row)` Return a reference to a row.
`double` `zSum()` Return the sum of all the elements of the receiver

Methods inherited from interface org.apache.mahout.math.VectorIterable
`iterateAll, numCols, numRows, numSlices, times, timesSquared`

Methods inherited from interface java.lang.Iterable
`iterator`

Method Detail

### asFormatString

    String asFormatString()

  Returns:
    a formatted String suitable for output

### assign

    Matrix assign(double value)

  Assign the value to all elements of the receiver

  Parameters:
    `value` - a double value
  Returns:
    the modified receiver

### assign

    Matrix assign(double[][] values)

  Assign the values to the receiver

  Parameters:
    `values` - a double[] of values
  Returns:
    the modified receiver
  Throws:
    `CardinalityException` - if the cardinalities differ

### assign

    Matrix assign(Matrix other)

  Assign the other vector values to the receiver

  Parameters:
    `other` - a Matrix
  Returns:
    the modified receiver
  Throws:
    `CardinalityException` - if the cardinalities differ

### assign

    Matrix assign(DoubleFunction function)

  Apply the function to each element of the receiver

  Parameters:
    `function` - a DoubleFunction to apply
  Returns:
    the modified receiver

### assign

    Matrix assign(Matrix other,
                  DoubleDoubleFunction function)

  Apply the function to each element of the receiver and the corresponding element of the other argument

  Parameters:
    `other` - a Matrix containing the second arguments to the function
    `function` - a DoubleDoubleFunction to apply
  Returns:
    the modified receiver
  Throws:
    `CardinalityException` - if the cardinalities differ

### assignColumn

    Matrix assignColumn(int column,
                        Vector other)

  Assign the other vector values to the column of the receiver

  Parameters:
    `column` - the int row to assign
    `other` - a Vector
  Returns:
    the modified receiver
  Throws:
    `CardinalityException` - if the cardinalities differ

### assignRow

    Matrix assignRow(int row,
                     Vector other)

  Assign the other vector values to the row of the receiver

  Parameters:
    `row` - the int row to assign
    `other` - a Vector
  Returns:
    the modified receiver
  Throws:
    `CardinalityException` - if the cardinalities differ

### aggregateRows

    Vector aggregateRows(VectorFunction f)

  Collects the results of a function applied to each row of a matrix.

  Parameters:
    `f` - The function to be applied to each row.
  Returns:
    The vector of results.

### aggregateColumns

    Vector aggregateColumns(VectorFunction f)

  Collects the results of a function applied to each column of a matrix.

  Parameters:
    `f` - The function to be applied to each column.
  Returns:
    The vector of results.

### aggregate

    double aggregate(DoubleDoubleFunction combiner,
                     DoubleFunction mapper)

  Collects the results of a function applied to each element of a matrix and then aggregated.

  Parameters:
    `combiner` - A function that combines the results of the mapper.
    `mapper` - A function to apply to each element.
  Returns:
    The result.

### columnSize

    int columnSize()

  Returns:
    The number of rows in the matrix.

### rowSize

    int rowSize()

  Returns:
    Returns the number of rows in the matrix.

### clone

    Matrix clone()

  Return a copy of the recipient

  Returns:
    a new Matrix

### determinant

    double determinant()

  Returns matrix determinator using Laplace theorem

  Returns:
    a matrix determinator

### divide

    Matrix divide(double x)

  Return a new matrix containing the values of the recipient divided by the argument

  Parameters:
    `x` - a double value
  Returns:
    a new Matrix

### get

    double get(int row,
               int column)

  Return the value at the given indexes

  Parameters:
    `row` - an int row index
    `column` - an int column index
  Returns:
    the double at the index
  Throws:
    `IndexException` - if the index is out of bounds

### getQuick

    double getQuick(int row,
                    int column)

  Return the value at the given indexes, without checking bounds

  Parameters:
    `row` - an int row index
    `column` - an int column index
  Returns:
    the double at the index

### like

    Matrix like()

  Return an empty matrix of the same underlying class as the receiver

  Returns:
    a Matrix

### like

    Matrix like(int rows,
                int columns)

  Returns an empty matrix of the same underlying class as the receiver and of the specified size.

  Parameters:
    `rows` - the int number of rows
    `columns` - the int number of columns

### minus

    Matrix minus(Matrix x)

  Return a new matrix containing the element by element difference of the recipient and the argument

  Parameters:
    `x` - a Matrix
  Returns:
    a new Matrix
  Throws:
    `CardinalityException` - if the cardinalities differ

### plus

    Matrix plus(double x)

  Return a new matrix containing the sum of each value of the recipient and the argument

  Parameters:
    `x` - a double
  Returns:
    a new Matrix

### plus

    Matrix plus(Matrix x)

  Return a new matrix containing the element by element sum of the recipient and the argument

  Parameters:
    `x` - a Matrix
  Returns:
    a new Matrix
  Throws:
    `CardinalityException` - if the cardinalities differ

### set

    void set(int row,
             int column,
             double value)

  Set the value at the given index

  Parameters:
    `row` - an int row index into the receiver
    `column` - an int column index into the receiver
    `value` - a double value to set
  Throws:
    `IndexException` - if the index is out of bounds

### set

    void set(int row,
             double[] data)

### setQuick

    void setQuick(int row,
                  int column,
                  double value)

  Set the value at the given index, without checking bounds

  Parameters:
    `row` - an int row index into the receiver
    `column` - an int column index into the receiver
    `value` - a double value to set

### getNumNondefaultElements

    int[] getNumNondefaultElements()

  Return the number of values in the recipient

  Returns:
    an int[2] containing [row, column] count

### times

    Matrix times(double x)

  Return a new matrix containing the product of each value of the recipient and the argument

  Parameters:
    `x` - a double argument
  Returns:
    a new Matrix

### times

    Matrix times(Matrix x)

  Return a new matrix containing the product of the recipient and the argument

  Parameters:
    `x` - a Matrix argument
  Returns:
    a new Matrix
  Throws:
    `CardinalityException` - if the cardinalities are incompatible

### transpose

    Matrix transpose()

  Return a new matrix that is the transpose of the receiver

  Returns:
    the transpose

### zSum

    double zSum()

  Return the sum of all the elements of the receiver

  Returns:
    a double

### getColumnLabelBindings

    Map<String,Integer> getColumnLabelBindings()

  Return a map of the current column label bindings of the receiver

  Returns:
    a Map<String, Integer>

### getRowLabelBindings

    Map<String,Integer> getRowLabelBindings()

  Return a map of the current row label bindings of the receiver

  Returns:
    a Map<String, Integer>

### setColumnLabelBindings

    void setColumnLabelBindings(Map<String,Integer> bindings)

  Sets a map of column label bindings in the receiver

  Parameters:
    `bindings` - a Map<String, Integer> of label bindings

### setRowLabelBindings

    void setRowLabelBindings(Map<String,Integer> bindings)

  Sets a map of row label bindings in the receiver

  Parameters:
    `bindings` - a Map<String, Integer> of label bindings

### get

    double get(String rowLabel,
               String columnLabel)

  Return the value at the given labels

  Parameters:
    `rowLabel` - a String row label
    `columnLabel` - a String column label
  Returns:
    the double at the index
  Throws:
    `IndexException` - if the index is out of bounds

### set

    void set(String rowLabel,
             String columnLabel,
             double value)

  Set the value at the given index

  Parameters:
    `rowLabel` - a String row label
    `columnLabel` - a String column label
    `value` - a double value to set
  Throws:
    `IndexException` - if the index is out of bounds

### set

    void set(String rowLabel,
             String columnLabel,
             int row,
             int column,
             double value)

  Set the value at the given index, updating the row and column label bindings

  Parameters:
    `rowLabel` - a String row label
    `columnLabel` - a String column label
    `row` - an int row index
    `column` - an int column index
    `value` - a double value

### set

    void set(String rowLabel,
             double[] rowData)

  Sets the row values at the given row label

  Parameters:
    `rowLabel` - a String row label
    `rowData` - a double[] array of row data

### set

    void set(String rowLabel,
             int row,
             double[] rowData)

  Sets the row values at the given row index and updates the row labels

  Parameters:
    `rowLabel` - the String row label
    `row` - an int the row index
    `rowData` - a double[] array of row data

### viewPart

    Matrix viewPart(int[] offset,
                    int[] size)

  Return a view into part of a matrix. Changes to the view will change the original matrix.

  Parameters:
    `offset` - an int[2] offset into the receiver
    `size` - the int[2] size of the desired result
  Returns:
    a matrix that shares storage with part of the original matrix.
  Throws:
    `CardinalityException` - if the length is greater than the cardinality of the receiver
    `IndexException` - if the offset is negative or the offset+length is outside of the receiver

### viewPart

    Matrix viewPart(int rowOffset,
                    int rowsRequested,
                    int columnOffset,
                    int columnsRequested)

  Return a view into part of a matrix. Changes to the view will change the original matrix.

  Parameters:
    `rowOffset` - The first row of the view
    `rowsRequested` - The number of rows in the view
    `columnOffset` - The first column in the view
    `columnsRequested` - The number of columns in the view
  Returns:
    a matrix that shares storage with part of the original matrix.
  Throws:
    `CardinalityException` - if the length is greater than the cardinality of the receiver
    `IndexException` - if the offset is negative or the offset+length is outside of the receiver

### viewRow

    Vector viewRow(int row)

  Return a reference to a row. Changes to the view will change the original matrix.

  Parameters:
    `row` - The index of the row to return.
  Returns:
    A vector that shares storage with the original.

### viewColumn

    Vector viewColumn(int column)

  Return a reference to a column. Changes to the view will change the original matrix.

  Parameters:
    `column` - The index of the column to return.
  Returns:
    A vector that shares storage with the original.

### viewDiagonal

    Vector viewDiagonal()

  Returns a reference to the diagonal of a matrix. Changes to the view will change the original matrix.

  Returns:
    A vector that shares storage with the original matrix.

Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.