org.apache.mahout.math
Class SparseColumnMatrix

java.lang.Object
  extended by org.apache.mahout.math.AbstractMatrix
      extended by org.apache.mahout.math.SparseColumnMatrix
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<MatrixSlice>, Matrix, VectorIterable

public class SparseColumnMatrix
extends AbstractMatrix

sparse matrix with general element values whose columns are accessible quickly. Implemented as a column array of SparseVectors.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.mahout.math.AbstractMatrix
AbstractMatrix.TransposeViewVector
 
Field Summary
 
Fields inherited from class org.apache.mahout.math.AbstractMatrix
cardinality, COL, columnLabelBindings, ROW, rowLabelBindings
 
Constructor Summary
SparseColumnMatrix()
           
SparseColumnMatrix(int[] cardinality)
          Construct a matrix of the given cardinality
SparseColumnMatrix(int[] cardinality, RandomAccessSparseVector[] columns)
          Construct a matrix of the given cardinality with the given data columns
 
Method Summary
 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
 Vector getColumn(int column)
          Return the column at the given index
 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
 Vector getRow(int row)
          Return the row at the given index
 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.
 int numSlices()
          Abstracted out for the iterator
 void setQuick(int row, int column, double value)
          Set the value at the given index, without checking bounds
protected  Vector slice(int index)
          Iterate over columns.
 Matrix viewPart(int[] offset, int[] size)
          Return a new matrix containing the subset of the recipient
 
Methods inherited from class org.apache.mahout.math.AbstractMatrix
aggregate, aggregateColumns, aggregateRows, asFormatString, assign, assign, assign, assign, assign, columnSize, decodeMatrix, determinant, divide, get, get, getColumnLabelBindings, getRowLabelBindings, iterateAll, iterator, minus, numCols, numRows, plus, plus, rowSize, set, set, set, set, set, set, setColumnLabelBindings, setRowLabelBindings, size, times, times, times, timesSquared, transpose, viewColumn, viewPart, viewRow, zSum
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SparseColumnMatrix

public SparseColumnMatrix()

SparseColumnMatrix

public SparseColumnMatrix(int[] cardinality,
                          RandomAccessSparseVector[] columns)
Construct a matrix of the given cardinality with the given data columns

Parameters:
cardinality - the int[2] cardinality
columns - a RandomAccessSparseVector[] array of columns

SparseColumnMatrix

public SparseColumnMatrix(int[] cardinality)
Construct a matrix of the given cardinality

Parameters:
cardinality - the int[2] cardinality
Method Detail

clone

public Matrix clone()
Description copied from interface: Matrix
Return a copy of the recipient

Specified by:
clone in interface Matrix
Overrides:
clone in class AbstractMatrix
Returns:
a new Matrix

slice

protected Vector slice(int index)
Iterate over columns.

Overrides:
slice in class AbstractMatrix
Parameters:
index - of the column number to grab as a vector (shallowly)
Returns:
the column vector at that index.

numSlices

public int numSlices()
Abstracted out for the iterator

Specified by:
numSlices in interface VectorIterable
Overrides:
numSlices in class AbstractMatrix
Returns:
AbstractMatrix.numCols()

getQuick

public double getQuick(int row,
                       int column)
Description copied from interface: Matrix
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

public Matrix like()
Description copied from interface: Matrix
Return an empty matrix of the same underlying class as the receiver

Returns:
a Matrix

like

public Matrix like(int rows,
                   int columns)
Description copied from interface: Matrix
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

setQuick

public void setQuick(int row,
                     int column,
                     double value)
Description copied from interface: Matrix
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

public int[] getNumNondefaultElements()
Description copied from interface: Matrix
Return the number of values in the recipient

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

viewPart

public Matrix viewPart(int[] offset,
                       int[] size)
Description copied from interface: Matrix
Return a new matrix containing the subset of the recipient

Parameters:
offset - an int[2] offset into the receiver
size - the int[2] size of the desired result
Returns:
a new Matrix that is a view of the original

assignColumn

public Matrix assignColumn(int column,
                           Vector other)
Description copied from interface: Matrix
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

assignRow

public Matrix assignRow(int row,
                        Vector other)
Description copied from interface: Matrix
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

getColumn

public Vector getColumn(int column)
Description copied from interface: Matrix
Return the column at the given index

Parameters:
column - an int column index
Returns:
a Vector at the index

getRow

public Vector getRow(int row)
Description copied from interface: Matrix
Return the row at the given index

Parameters:
row - an int row index
Returns:
a Vector at the index


Copyright © 2008-2010 The Apache Software Foundation. All Rights Reserved.