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

getRowLabelBindings

Map<String,Integer> getRowLabelBindings()
Return a map of the current row label bindings of the receiver

Returns:
a Map

setColumnLabelBindings

void setColumnLabelBindings(Map<String,Integer> bindings)
Sets a map of column label bindings in the receiver

Parameters:
bindings - a Map of label bindings

setRowLabelBindings

void setRowLabelBindings(Map<String,Integer> bindings)
Sets a map of row label bindings in the receiver

Parameters:
bindings - a Map 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.