class SparseMatrix extends Matrix
Column-major sparse matrix. The entry values are stored in Compressed Sparse Column (CSC) format. For example, the following matrix
1.0 0.0 4.0 0.0 3.0 5.0 2.0 0.0 6.0
is stored as values: [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
,
rowIndices=[0, 2, 1, 0, 1, 2]
, colPointers=[0, 2, 3, 6]
.
- Annotations
- @Since( "2.0.0" )
- Source
- Matrices.scala
- Alphabetic
- By Inheritance
- SparseMatrix
- Matrix
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
SparseMatrix(numRows: Int, numCols: Int, colPtrs: Array[Int], rowIndices: Array[Int], values: Array[Double])
Column-major sparse matrix.
Column-major sparse matrix. The entry values are stored in Compressed Sparse Column (CSC) format. For example, the following matrix
1.0 0.0 4.0 0.0 3.0 5.0 2.0 0.0 6.0
is stored as
values: [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
,rowIndices=[0, 2, 1, 0, 1, 2]
,colPointers=[0, 2, 3, 6]
.- numRows
number of rows
- numCols
number of columns
- colPtrs
the index corresponding to the start of a new column
- rowIndices
the row index of the entry. They must be in strictly increasing order for each column
- values
non-zero matrix entries in column major
- Annotations
- @Since( "2.0.0" )
-
new
SparseMatrix(numRows: Int, numCols: Int, colPtrs: Array[Int], rowIndices: Array[Int], values: Array[Double], isTransposed: Boolean)
- numRows
number of rows
- numCols
number of columns
- colPtrs
the index corresponding to the start of a new column (if not transposed)
- rowIndices
the row index of the entry (if not transposed). They must be in strictly increasing order for each column
- values
nonzero matrix entries in column major (if not transposed)
- isTransposed
whether the matrix is transposed. If true, the matrix can be considered Compressed Sparse Row (CSR) format, where
colPtrs
behaves as rowPtrs, androwIndices
behave as colIndices, andvalues
are stored in row major.
- Annotations
- @Since( "2.0.0" )
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
apply(i: Int, j: Int): Double
Gets the (i, j)-th element.
Gets the (i, j)-th element.
- Definition Classes
- SparseMatrix → Matrix
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
colIter: Iterator[Vector]
Returns an iterator of column vectors.
Returns an iterator of column vectors. This operation could be expensive, depending on the underlying storage.
- Definition Classes
- SparseMatrix → Matrix
-
val
colPtrs: Array[Int]
- Annotations
- @Since( "2.0.0" )
-
def
compressed: Matrix
Returns a matrix in dense column major, dense row major, sparse row major, or sparse column major format, whichever uses less storage.
Returns a matrix in dense column major, dense row major, sparse row major, or sparse column major format, whichever uses less storage. When dense representation is optimal, it maintains the current layout order.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
compressedColMajor: Matrix
Returns a matrix in dense or sparse column major format, whichever uses less storage.
Returns a matrix in dense or sparse column major format, whichever uses less storage.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
compressedRowMajor: Matrix
Returns a matrix in dense or sparse row major format, whichever uses less storage.
Returns a matrix in dense or sparse row major format, whichever uses less storage.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
copy: SparseMatrix
Get a deep copy of the matrix.
Get a deep copy of the matrix.
- Definition Classes
- SparseMatrix → Matrix
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(o: Any): Boolean
- Definition Classes
- SparseMatrix → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
foreachActive(f: (Int, Int, Double) ⇒ Unit): Unit
Applies a function
f
to all the active elements of dense and sparse matrix.Applies a function
f
to all the active elements of dense and sparse matrix. The ordering of the elements are not defined.- f
the function takes three parameters where the first two parameters are the row and column indices respectively with the type
Int
, and the final parameter is the corresponding value in the matrix with typeDouble
.
- Definition Classes
- SparseMatrix → Matrix
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- SparseMatrix → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
isTransposed: Boolean
Flag that keeps track whether the matrix is transposed or not.
Flag that keeps track whether the matrix is transposed or not. False by default.
- Definition Classes
- SparseMatrix → Matrix
-
def
multiply(y: Vector): DenseVector
Convenience method for
Matrix
-Vector
multiplication.Convenience method for
Matrix
-Vector
multiplication.- Definition Classes
- Matrix
- Annotations
- @Since( "2.0.0" )
-
def
multiply(y: DenseVector): DenseVector
Convenience method for
Matrix
-DenseVector
multiplication.Convenience method for
Matrix
-DenseVector
multiplication. For binary compatibility.- Definition Classes
- Matrix
- Annotations
- @Since( "2.0.0" )
-
def
multiply(y: DenseMatrix): DenseMatrix
Convenience method for
Matrix
-DenseMatrix
multiplication.Convenience method for
Matrix
-DenseMatrix
multiplication.- Definition Classes
- Matrix
- Annotations
- @Since( "2.0.0" )
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
numActives: Int
Find the number of values stored explicitly.
Find the number of values stored explicitly. These values can be zero as well.
- Definition Classes
- SparseMatrix → Matrix
-
val
numCols: Int
Number of columns.
Number of columns.
- Definition Classes
- SparseMatrix → Matrix
- Annotations
- @Since( "2.0.0" )
-
def
numNonzeros: Int
Find the number of non-zero active values.
Find the number of non-zero active values.
- Definition Classes
- SparseMatrix → Matrix
-
val
numRows: Int
Number of rows.
Number of rows.
- Definition Classes
- SparseMatrix → Matrix
- Annotations
- @Since( "2.0.0" )
-
val
rowIndices: Array[Int]
- Annotations
- @Since( "2.0.0" )
-
def
rowIter: Iterator[Vector]
Returns an iterator of row vectors.
Returns an iterator of row vectors. This operation could be expensive, depending on the underlying storage.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.0.0" )
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toArray: Array[Double]
Converts to a dense array in column major.
Converts to a dense array in column major.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.0.0" )
-
def
toDense: DenseMatrix
Converts this matrix to a dense matrix while maintaining the layout of the current matrix.
Converts this matrix to a dense matrix while maintaining the layout of the current matrix.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
toDenseColMajor: DenseMatrix
Converts this matrix to a dense matrix in column major order.
Converts this matrix to a dense matrix in column major order.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
toDenseRowMajor: DenseMatrix
Converts this matrix to a dense matrix in row major order.
Converts this matrix to a dense matrix in row major order.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
toSparse: SparseMatrix
Converts this matrix to a sparse matrix while maintaining the layout of the current matrix.
Converts this matrix to a sparse matrix while maintaining the layout of the current matrix.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
toSparseColMajor: SparseMatrix
Converts this matrix to a sparse matrix in column major order.
Converts this matrix to a sparse matrix in column major order.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
toSparseRowMajor: SparseMatrix
Converts this matrix to a sparse matrix in row major order.
Converts this matrix to a sparse matrix in row major order.
- Definition Classes
- Matrix
- Annotations
- @Since( "2.2.0" )
-
def
toString(maxLines: Int, maxLineWidth: Int): String
A human readable representation of the matrix with maximum lines and width
A human readable representation of the matrix with maximum lines and width
- Definition Classes
- Matrix
- Annotations
- @Since( "2.0.0" )
-
def
toString(): String
A human readable representation of the matrix
A human readable representation of the matrix
- Definition Classes
- Matrix → AnyRef → Any
-
def
transpose: SparseMatrix
Transpose the Matrix.
Transpose the Matrix. Returns a new
Matrix
instance sharing the same underlying data.- Definition Classes
- SparseMatrix → Matrix
-
val
values: Array[Double]
- Annotations
- @Since( "2.0.0" )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()