class SparseMatrixN[T] extends Matrix[T] with Error with Serializable
The SparseMatrixN
class stores and operates on Numeric Matrices of various
sizes and types. The element type may be any subtype of Numeric. Rather
than storing the matrix as a 2 dimensional array, it is stored as an array
of list-maps, which record all the non-zero values for each particular row,
along with their j-index.
- Alphabetic
- By Inheritance
- SparseMatrixN
- Serializable
- Serializable
- Matrix
- Error
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
SparseMatrixN(u: SymTriMatrixN[T], _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
Construct a sparse matrix and assign values from
SymTriMatrixN
matrix 'u'.Construct a sparse matrix and assign values from
SymTriMatrixN
matrix 'u'.- u
the matrix of values to assign
- _0
the value zero for type T
-
new
SparseMatrixN(u: MatrixN[T], _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
Construct a sparse matrix and assign values from
MatrixN
matrix 'u'.Construct a sparse matrix and assign values from
MatrixN
matrix 'u'.- u
the matrix of values to assign
- _0
the value zero for type T
-
new
SparseMatrixN(u: SparseMatrixN[T], _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
Construct a sparse matrix and assign values from matrix 'u'.
Construct a sparse matrix and assign values from matrix 'u'.
- u
the matrix of values to assign
- _0
the value zero for type T
-
new
SparseMatrixN(dim1: Int, x: T, _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
Construct a 'dim1-by-dim1' square sparse matrix with 'x' assigned on the diagonal and 0 assigned off the diagonal.
Construct a 'dim1-by-dim1' square sparse matrix with 'x' assigned on the diagonal and 0 assigned off the diagonal. To obtain an identity matrix, let 'x = 1'.
- dim1
the row and column dimension
- x
the scalar value to assign on the diagonal
- _0
the value zero for type T
-
new
SparseMatrixN(dim1: Int, dim2: Int, x: T, _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
Construct a 'dim1-by-dim2' sparse matrix and assign each element the value 'x'.
Construct a 'dim1-by-dim2' sparse matrix and assign each element the value 'x'.
- dim1
the row dimension
- dim2
the column dimension
- x
the scalar value to assign
- _0
the value zero for type T
-
new
SparseMatrixN(dim1: Int, _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
Construct a 'dim1-by-dim1' square sparse matrix.
Construct a 'dim1-by-dim1' square sparse matrix.
- dim1
the row and column dimension
- _0
the value zero for type T
-
new
SparseMatrixN(dim1: Int, dim2: Int, u: Array[SortedLinkedHashMap[Int, T]], _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
Construct a 'dim1-by-dim2' sparse matrix from an array of sorted-linked-maps.
Construct a 'dim1-by-dim2' sparse matrix from an array of sorted-linked-maps.
- dim1
the row dimension
- dim2
the column dimension
- u
the array of sorted-linked-maps
- _0
the value zero for type T
-
new
SparseMatrixN(d1: Int, d2: Int, _0: T)(implicit arg0: ClassTag[T], arg1: Numeric[T])
- d1
the first/row dimension
- d2
the second/column dimension
- _0
the value zero for type T
Type Members
-
type
RowMap = SortedLinkedHashMap[Int, T]
Type definition for matrix rows
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
*(x: T): SparseMatrixN[T]
Multiply this matrix by scalar 'x'.
Multiply this matrix by scalar 'x'.
- x
the scalar to multiply by
- Definition Classes
- SparseMatrixN → Matrix
-
def
*(u: VectorN[T]): VectorN[T]
Multiply this matrix by vector 'u'.
Multiply this matrix by vector 'u'.
- u
the vector to multiply by
- Definition Classes
- SparseMatrixN → Matrix
-
def
*(b: Matrix[T]): SparseMatrixN[T]
Multiply this matrix by matrix 'b'.
Multiply this matrix by matrix 'b'.
- b
the matrix to multiply by (requires 'sameCrossDimensions')
-
def
*(b: SparseMatrixN[T]): SparseMatrixN[T]
Multiply this sparse matrix by sparse matrix 'b', by performing a merge operation on the rows on this sparse matrix and the transpose of the 'b' matrix.
Multiply this sparse matrix by sparse matrix 'b', by performing a merge operation on the rows on this sparse matrix and the transpose of the 'b' matrix.
- b
the matrix to multiply by (requires 'sameCrossDimensions')
-
def
**(u: VectorN[T]): SparseMatrixN[T]
Multiply this matrix by vector 'u' to produce another matrix 'a_ij * b_j'.
Multiply this matrix by vector 'u' to produce another matrix 'a_ij * b_j'.
- u
the vector to multiply by
- Definition Classes
- SparseMatrixN → Matrix
-
def
**=(u: VectorN[T]): SparseMatrixN[T]
Multiply in-place this matrix by vector 'u' to produce another matrix 'a_ij * b_j'.
Multiply in-place this matrix by vector 'u' to produce another matrix 'a_ij * b_j'.
- u
the vector to multiply by
- Definition Classes
- SparseMatrixN → Matrix
-
def
*=(x: T): SparseMatrixN[T]
Multiply in-place this matrix by scalar 'x'.
Multiply in-place this matrix by scalar 'x'.
- x
the scalar to multiply by
- Definition Classes
- SparseMatrixN → Matrix
-
def
*=(b: Matrix[T]): SparseMatrixN[T]
Multiply in-place this matrix by matrix 'b'.
Multiply in-place this matrix by matrix 'b'. If 'b' and this reference the same matrix 'b == this', a copy of the this matrix is made.
- b
the matrix to multiply by (requires 'sameCrossDimensions')
-
def
*=(b: SparseMatrixN[T]): SparseMatrixN[T]
Multiply in-place this sparse matrix by sparse matrix 'b', by performing a merge operation on the rows on this sparse matrix and the transpose of the 'b' matrix.
Multiply in-place this sparse matrix by sparse matrix 'b', by performing a merge operation on the rows on this sparse matrix and the transpose of the 'b' matrix.
- b
the matrix to multiply by (requires square and 'sameCrossDimensions')
-
def
+(x: T): SparseMatrixN[T]
Add this matrix and scalar x.
-
def
+(b: Matrix[T]): SparseMatrixN[T]
Add this matrix and matrix 'b'.
Add this matrix and matrix 'b'.
- b
the matrix to add (requires 'leDimensions')
-
def
+(b: SparseMatrixN[T]): SparseMatrixN[T]
Add this sparse matrix and sparse matrix 'b'.
Add this sparse matrix and sparse matrix 'b'.
- b
the matrix to add (requires 'sameCrossDimensions')
-
def
++(u: VectorN[T]): SparseMatrixN[T]
Concatenate this sparse matrix and vector 'u'.
Concatenate this sparse matrix and vector 'u'.
- u
the vector to be concatenated as the new last row in matrix
- Definition Classes
- SparseMatrixN → Matrix
-
def
+=(x: T): SparseMatrixN[T]
Add in-place this matrix and scalar 'x'.
-
def
+=(b: Matrix[T]): SparseMatrixN[T]
Add in-place this matrix and matrix 'b'.
Add in-place this matrix and matrix 'b'.
- b
the matrix to add (requires 'leDimensions')
-
def
+=(b: SparseMatrixN[T]): SparseMatrixN[T]
Add in-place this sparse matrix and sparse matrix 'b'.
Add in-place this sparse matrix and sparse matrix 'b'.
- b
the matrix to add (requires 'sameCrossDimensions')
-
def
-(x: T): SparseMatrixN[T]
From this matrix subtract scalar 'x'.
From this matrix subtract scalar 'x'.
- x
the scalar to subtract
- Definition Classes
- SparseMatrixN → Matrix
-
def
-(b: Matrix[T]): SparseMatrixN[T]
From this matrix subtract matrix 'b'.
From this matrix subtract matrix 'b'.
- b
the matrix to subtract (requires 'leDimensions')
-
def
-(b: SparseMatrixN[T]): SparseMatrixN[T]
From this sparse matrix subtract matrix 'b'.
From this sparse matrix subtract matrix 'b'.
- b
the sparse matrix to subtract (requires 'sameCrossDimensions')
-
def
-=(x: T): SparseMatrixN[T]
From this matrix subtract in-place scalar 'x'.
From this matrix subtract in-place scalar 'x'.
- x
the scalar to subtract
- Definition Classes
- SparseMatrixN → Matrix
-
def
-=(b: Matrix[T]): SparseMatrixN[T]
From this matrix subtract in-place matrix 'b'.
From this matrix subtract in-place matrix 'b'.
- b
the matrix to subtract (requires 'leDimensions')
-
def
-=(b: SparseMatrixN[T]): SparseMatrixN[T]
From this sparse matrix subtract in-place sparse matrix 'b'.
From this sparse matrix subtract in-place sparse matrix 'b'.
- b
the sparse matrix to subtract (requires 'sameCrossDimensions')
-
def
/(x: T)(implicit fr: Fractional[T]): SparseMatrixN[T]
Divide this sparse matrix by scalar 'x'.
Divide this sparse matrix by scalar 'x'.
- x
the scalar to divide by
- Definition Classes
- SparseMatrixN → Matrix
-
def
/=(x: T)(implicit fr: Fractional[T]): SparseMatrixN[T]
Divide in-place this sparse matrix by scalar 'x'.
Divide in-place this sparse matrix by scalar 'x'.
- x
the scalar to divide by
- Definition Classes
- SparseMatrixN → Matrix
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
_1: T
Numeric one (1)
-
val
_1n: T
Numeric minus one (-1)
-
def
apply(i: Int, jr: Range): VectorN[T]
Get a slice this matrix row-wise at index 'i' and column-wise on range 'jr'.
Get a slice this matrix row-wise at index 'i' and column-wise on range 'jr'. Ex: u = a(2, 3..5)
- i
the row index
- jr
the column range
- Definition Classes
- SparseMatrixN → Matrix
-
def
apply(ir: Range, j: Int): VectorN[T]
Get a slice this matrix row-wise on range 'ir' and column-wise at index 'j'.
Get a slice this matrix row-wise on range 'ir' and column-wise at index 'j'. Ex: u = a(2..4, 3)
- ir
the row range
- j
the column index
- Definition Classes
- SparseMatrixN → Matrix
-
def
apply(ir: Range, jr: Range): SparseMatrixN[T]
Get a slice this matrix row-wise on range 'ir' and column-wise on range 'jr'.
Get a slice this matrix row-wise on range 'ir' and column-wise on range 'jr'. Ex: b = a(2..4, 3..5)
- ir
the row range
- jr
the column range
- Definition Classes
- SparseMatrixN → Matrix
-
def
apply(i: Int): VectorN[T]
Get this matrix's vector at the 'i'th index position ('i'th row).
Get this matrix's vector at the 'i'th index position ('i'th row).
- i
the row index
- Definition Classes
- SparseMatrixN → Matrix
-
def
apply(i: Int, j: Int): T
Get this matrix's element at the 'i,j'-th index position.
Get this matrix's element at the 'i,j'-th index position.
- i
the row index
- j
the column index
- Definition Classes
- SparseMatrixN → Matrix
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clean(thres: T, relative: Boolean = true)(implicit fr: Fractional[T]): SparseMatrixN[T]
Clean values in matrix at or below the threshold by setting them to zero.
Clean values in matrix at or below the threshold by setting them to zero. Iterative algorithms give approximate values and if very close to zero, may throw off other calculations, e.g., in computing eigenvectors.
- thres
the cutoff threshold (a small value)
- relative
whether to use relative or absolute cutoff
- Definition Classes
- SparseMatrixN → Matrix
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
col(col: Int, from: Int = 0): VectorN[T]
Get column 'col' from the matrix, returning it as a vector.
Get column 'col' from the matrix, returning it as a vector.
- col
the column to extract from the matrix
- from
the position to start extracting from
- Definition Classes
- SparseMatrixN → Matrix
-
def
det: T
Compute the determinant of this matrix.
Compute the determinant of this matrix.
- Definition Classes
- SparseMatrixN → Matrix
-
def
diag(p: Int, q: Int): SparseMatrixN[T]
Form a matrix '[Ip, this, Iq]' where 'Ir' is a 'r-by-r' identity matrix, by positioning the three matrices 'Ip', this and 'Iq' along the diagonal.
Form a matrix '[Ip, this, Iq]' where 'Ir' is a 'r-by-r' identity matrix, by positioning the three matrices 'Ip', this and 'Iq' along the diagonal.
- p
the size of identity matrix Ip
- q
the size of identity matrix Iq
- Definition Classes
- SparseMatrixN → Matrix
-
def
diag(b: Matrix[T]): SparseMatrixN[T]
Combine this matrix with matrix 'b', placing them along the diagonal and filling in the bottom left and top right regions with zeros; '[this, b]'.
Combine this matrix with matrix 'b', placing them along the diagonal and filling in the bottom left and top right regions with zeros; '[this, b]'.
- b
the matrix to combine with this matrix
-
lazy val
dim1: Int
Dimension 1
Dimension 1
- Definition Classes
- SparseMatrixN → Matrix
-
lazy val
dim2: Int
Dimension 2
Dimension 2
- Definition Classes
- SparseMatrixN → Matrix
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
flaw(method: String, message: String): Unit
Show the flaw by printing the error message.
Show the flaw by printing the error message.
- method
the method where the error occurred
- message
the error message
- Definition Classes
- Error
-
def
foreach[U](f: (Array[T]) ⇒ U): Unit
Iterate over the matrix row by row.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
getDiag(k: Int = 0): VectorN[T]
Get the 'k'th diagonal of this matrix.
Get the 'k'th diagonal of this matrix. Assumes 'dim2 >= dim1'.
- k
how far above the main diagonal, e.g., (-1, 0, 1) for (sub, main, super)
- Definition Classes
- SparseMatrixN → Matrix
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
inverse(implicit fr: Fractional[T]): SparseMatrixN[T]
Invert this matrix (requires a 'squareMatrix') using partial pivoting.
Invert this matrix (requires a 'squareMatrix') using partial pivoting.
- Definition Classes
- SparseMatrixN → Matrix
-
def
inverse_ip(implicit fr: Fractional[T]): SparseMatrixN[T]
Invert in-place this matrix (requires a 'squareMatrix').
Invert in-place this matrix (requires a 'squareMatrix'). This version uses partial pivoting.
- Definition Classes
- SparseMatrixN → Matrix
-
def
inverse_npp(implicit fr: Fractional[T]): SparseMatrixN[T]
Invert this matrix (requires a 'squareMatrix') and not using partial pivoting.
Invert this matrix (requires a 'squareMatrix') and not using partial pivoting.
- Definition Classes
- SparseMatrixN → Matrix
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isNonnegative: Boolean
Check whether this matrix is nonnegative (has no negative elements).
Check whether this matrix is nonnegative (has no negative elements).
- Definition Classes
- SparseMatrixN → Matrix
-
def
isRectangular: Boolean
Check whether this matrix is rectangular (all rows have the same number of columns).
Check whether this matrix is rectangular (all rows have the same number of columns).
- Definition Classes
- SparseMatrixN → Matrix
-
def
isSquare: Boolean
Check whether this matrix is square (same row and column dimensions).
Check whether this matrix is square (same row and column dimensions).
- Definition Classes
- Matrix
-
def
isSymmetric: Boolean
Check whether this matrix is symmetric.
Check whether this matrix is symmetric.
- Definition Classes
- Matrix
-
def
leDimensions(b: Matrix[T]): Boolean
Check whether this matrix dimensions are less than or equal to 'le' those of the other Matrix.
Check whether this matrix dimensions are less than or equal to 'le' those of the other Matrix.
- b
the other matrix
- Definition Classes
- Matrix
-
def
lud(implicit fr: Fractional[T]): (SparseMatrixN[T], SparseMatrixN[T])
Decompose this matrix into the product of lower and upper triangular matrices '(l, u)' using the 'LU' Decomposition algorithm.
Decompose this matrix into the product of lower and upper triangular matrices '(l, u)' using the 'LU' Decomposition algorithm. This version uses partial pivoting.
- Definition Classes
- SparseMatrixN → Matrix
-
def
lud_ip(implicit fr: Fractional[T]): (SparseMatrixN[T], SparseMatrixN[T])
Decompose in-place this matrix into the product of lower and upper triangular matrices '(l, u)' using the 'LU' Decomposition algorithm.
Decompose in-place this matrix into the product of lower and upper triangular matrices '(l, u)' using the 'LU' Decomposition algorithm. This version uses partial pivoting.
- Definition Classes
- SparseMatrixN → Matrix
-
def
mag: T
Find the magnitude of this matrix, the element value farthest from zero.
Find the magnitude of this matrix, the element value farthest from zero.
- Definition Classes
- SparseMatrixN → Matrix
-
def
max(e: Int = dim1): T
Find the maximum element in this sparse matrix.
Find the maximum element in this sparse matrix.
- e
the ending row index (exclusive) for the search
- Definition Classes
- SparseMatrixN → Matrix
-
def
min(e: Int = dim1): T
Find the minimum element in this sparse matrix.
Find the minimum element in this sparse matrix.
- e
the ending row index (exclusive) for the search
- Definition Classes
- SparseMatrixN → Matrix
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
norm1: T
Compute the 1-norm of this matrix, i.e., the maximum 1-norm of the column vectors.
Compute the 1-norm of this matrix, i.e., the maximum 1-norm of the column vectors. This is useful for comparing matrices '(a - b).norm1'.
- Definition Classes
- SparseMatrixN → Matrix
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
val
nu: Numeric[T]
Import Numeric evidence (nu value from superclass)
-
def
nullspace(implicit fr: Fractional[T]): VectorN[T]
Compute the (right) nullspace of this 'm-by-n' matrix (requires 'n = m + 1') by performing Gauss-Jordan reduction and extracting the negation of the last column augmented by 1.
Compute the (right) nullspace of this 'm-by-n' matrix (requires 'n = m + 1') by performing Gauss-Jordan reduction and extracting the negation of the last column augmented by 1. The nullspace of matrix 'a' is "this vector 'v' times any scalar 's'", i.e., 'a*(v*s) = 0'. The left nullspace of matrix 'a' is the same as the right nullspace of 'a.t' ('a' transpose).
- Definition Classes
- SparseMatrixN → Matrix
-
def
nullspace_ip(implicit fr: Fractional[T]): VectorN[T]
Compute the (right) nullspace in-place of this 'm-by-n' matrix (requires 'n = m + 1') by performing Gauss-Jordan reduction and extracting the negation of the last column augmented by 1.
Compute the (right) nullspace in-place of this 'm-by-n' matrix (requires 'n = m + 1') by performing Gauss-Jordan reduction and extracting the negation of the last column augmented by 1. The nullspace of matrix 'a' is "this vector 'v' times any scalar 's'", i.e., 'a*(v*s) = 0'. The left nullspace of matrix 'a' is the same as the right nullspace of 'a.t' ('a' transpose).
- Definition Classes
- SparseMatrixN → Matrix
-
val
range1: Range
Range for the storage array on dimension 1 (rows)
Range for the storage array on dimension 1 (rows)
- Attributes
- protected
- Definition Classes
- Matrix
-
val
range2: Range
Range for the storage array on dimension 2 (columns)
Range for the storage array on dimension 2 (columns)
- Attributes
- protected
- Definition Classes
- Matrix
-
def
rank(implicit fr: Fractional[T]): Int
Determine the rank of this 'm-by-n' matrix by taking the upper triangular matrix from the 'LU' Decomposition and counting the number of non-zero diagonal elements.
Determine the rank of this 'm-by-n' matrix by taking the upper triangular matrix from the 'LU' Decomposition and counting the number of non-zero diagonal elements. FIX: should implement in implementing classes.
- Definition Classes
- Matrix
-
def
reduce(implicit fr: Fractional[T]): SparseMatrixN[T]
Use Gauss-Jordan reduction on this matrix to make the left part embed an identity matrix.
Use Gauss-Jordan reduction on this matrix to make the left part embed an identity matrix. A constraint on this 'm-by-n' matrix is that 'n >= m'.
- Definition Classes
- SparseMatrixN → Matrix
-
def
reduce_ip(implicit fr: Fractional[T]): Unit
Use Gauss-Jordan reduction in-place on this matrix to make the left part embed an identity matrix.
Use Gauss-Jordan reduction in-place on this matrix to make the left part embed an identity matrix. A constraint on this 'm-by-n' matrix is that 'n >= m'.
- Definition Classes
- SparseMatrixN → Matrix
-
def
sameCrossDimensions(b: Matrix[T]): Boolean
Check whether this matrix and the other matrix have the same cross dimensions.
Check whether this matrix and the other matrix have the same cross dimensions.
- b
the other matrix
- Definition Classes
- Matrix
-
def
sameDimensions(b: Matrix[T]): Boolean
Check whether this matrix and the other Matrix have the same dimensions.
Check whether this matrix and the other Matrix have the same dimensions.
- b
the other matrix
- Definition Classes
- Matrix
-
def
selectCols(colIndex: Array[Int]): SparseMatrixN[T]
Select columns from this matrix according to the given index/basis.
Select columns from this matrix according to the given index/basis. Ex: Can be used to divide a matrix into a basis and a non-basis.
- colIndex
the column index positions (e.g., (0, 2, 5))
- Definition Classes
- SparseMatrixN → Matrix
-
def
selectRows(rowIndex: Array[Int]): SparseMatrixN[T]
Select rows from this matrix according to the given index/basis.
Select rows from this matrix according to the given index/basis.
- rowIndex
the row index positions (e.g., (0, 2, 5))
- Definition Classes
- SparseMatrixN → Matrix
-
def
set(i: Int, u: VectorN[T], j: Int = 0): Unit
Set this matrix's 'i'th row starting at column 'j' to the vector 'u'.
Set this matrix's 'i'th row starting at column 'j' to the vector 'u'.
- i
the row index
- u
the vector value to assign
- j
the starting column index
- Definition Classes
- SparseMatrixN → Matrix
-
def
set(u: Array[Array[T]]): Unit
Set all the values in this matrix as copies of the values in 2D array 'u'.
Set all the values in this matrix as copies of the values in 2D array 'u'.
- u
the 2D array of values to assign
- Definition Classes
- SparseMatrixN → Matrix
-
def
set(x: T): Unit
Set all the elements in this matrix to the scalar 'x'.
Set all the elements in this matrix to the scalar 'x'.
- x
the scalar value to assign
- Definition Classes
- SparseMatrixN → Matrix
-
def
setCol(col: Int, u: VectorN[T]): Unit
Set column 'col' of the matrix to a vector.
Set column 'col' of the matrix to a vector.
- col
the column to set
- u
the vector to assign to the column
- Definition Classes
- SparseMatrixN → Matrix
-
def
setDiag(x: T): Unit
Set the main diagonal of this matrix to the scalar 'x'.
Set the main diagonal of this matrix to the scalar 'x'. Assumes 'dim2 >= dim1'.
- x
the scalar to set the diagonal to
- Definition Classes
- SparseMatrixN → Matrix
-
def
setDiag(u: VectorN[T], k: Int = 0): Unit
Set the 'k'th diagonal of this matrix to the vector 'u'.
Set the 'k'th diagonal of this matrix to the vector 'u'. Assumes 'dim2 >= dim1'.
- u
the vector to set the diagonal to
- k
how far above the main diagonal, e.g., (-1, 0, 1) for (sub, main, super)
- Definition Classes
- SparseMatrixN → Matrix
-
def
showAll(): Unit
Show all elements in this sparse matrix.
-
def
slice(r_from: Int, r_end: Int, c_from: Int, c_end: Int): SparseMatrixN[T]
Slice this matrix row-wise 'r_from' to 'r_end' and column-wise 'c_from' to 'c_end'.
Slice this matrix row-wise 'r_from' to 'r_end' and column-wise 'c_from' to 'c_end'.
- r_from
the start of the row slice
- r_end
the end of the row slice
- c_from
the start of the column slice
- c_end
the end of the column slice
- Definition Classes
- SparseMatrixN → Matrix
-
def
slice(from: Int, end: Int): SparseMatrixN[T]
Slice this matrix row-wise 'from' to 'end'.
Slice this matrix row-wise 'from' to 'end'.
- from
the start row of the slice
- end
the end row of the slice
- Definition Classes
- SparseMatrixN → Matrix
-
def
sliceExclude(row: Int, col: Int): SparseMatrixN[T]
Slice this matrix excluding the given row and column.
Slice this matrix excluding the given row and column.
- row
the row to exclude
- col
the column to exclude
- Definition Classes
- SparseMatrixN → Matrix
-
def
solve(b: VectorN[T])(implicit fr: Fractional[T]): VectorN[T]
Solve for 'x' in the equation 'a*x = b' where 'a' is this matrix (see 'lud' above).
Solve for 'x' in the equation 'a*x = b' where 'a' is this matrix (see 'lud' above).
- b
the constant vector.
- Definition Classes
- SparseMatrixN → Matrix
-
def
solve(lu: (Matrix[T], Matrix[T]), b: VectorN[T])(implicit fr: Fractional[T]): VectorN[T]
Solve for 'x' in the equation 'l*u*x = b' (see 'lud' above).
Solve for 'x' in the equation 'l*u*x = b' (see 'lud' above).
- lu
the lower and upper triangular matrices
- b
the constant vector
- Definition Classes
- SparseMatrixN → Matrix
-
def
solve(l: Matrix[T], u: Matrix[T], b: VectorN[T])(implicit fr: Fractional[T]): VectorN[T]
Solve for 'x' in the equation 'l*u*x = b' (see 'lud' above).
Solve for 'x' in the equation 'l*u*x = b' (see 'lud' above).
- l
the lower triangular matrix
- u
the upper triangular matrix
- b
the constant vector
- Definition Classes
- SparseMatrixN → Matrix
-
def
sum: T
Compute the sum of this matrix, i.e., the sum of its elements.
Compute the sum of this matrix, i.e., the sum of its elements.
- Definition Classes
- SparseMatrixN → Matrix
-
def
sumAbs: T
Compute the 'abs' sum of this matrix, i.e., the sum of the absolute value of its elements.
Compute the 'abs' sum of this matrix, i.e., the sum of the absolute value of its elements. This is useful for comparing matrices '(a - b).sumAbs'.
- Definition Classes
- SparseMatrixN → Matrix
-
def
sumLower: T
Compute the sum of the lower triangular region of this matrix.
Compute the sum of the lower triangular region of this matrix.
- Definition Classes
- SparseMatrixN → Matrix
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
t: SparseMatrixN[T]
Transpose this matrix (rows => columns).
Transpose this matrix (rows => columns).
- Definition Classes
- SparseMatrixN → Matrix
-
def
toString(): String
Show the non-zero elements in this sparse matrix.
Show the non-zero elements in this sparse matrix.
- Definition Classes
- SparseMatrixN → AnyRef → Any
-
def
trace: T
Compute the trace of this matrix, i.e., the sum of the elements on the main diagonal.
Compute the trace of this matrix, i.e., the sum of the elements on the main diagonal. Should also equal the sum of the eigenvalues.
- Definition Classes
- SparseMatrixN → Matrix
- See also
Eigen.scala
-
def
update(i: Int, jr: Range, u: VectorN[T]): Unit
Set a slice this matrix row-wise at index 'i' and column-wise on range 'jr'.
Set a slice this matrix row-wise at index 'i' and column-wise on range 'jr'. Ex: a(2, 3..5) = u
- i
the row index
- jr
the column range
- u
the vector to assign
- Definition Classes
- SparseMatrixN → Matrix
-
def
update(ir: Range, j: Int, u: VectorN[T]): Unit
Set a slice this matrix row-wise on range 'ir' and column-wise at index 'j'.
Set a slice this matrix row-wise on range 'ir' and column-wise at index 'j'. Ex: a(2..4, 3) = u
- ir
the row range
- j
the column index
- u
the vector to assign
- Definition Classes
- SparseMatrixN → Matrix
-
def
update(ir: Range, jr: Range, b: SparseMatrixN[T]): Unit
Set a slice this matrix row-wise on range 'ir' and column-wise on range 'jr'.
Set a slice this matrix row-wise on range 'ir' and column-wise on range 'jr'. Ex: a(2..4, 3..5) = b
- ir
the row range
- jr
the column range
- b
the matrix to assign
-
def
update(i: Int, u: RowMap): Unit
Set this matrix's row at the 'i'th index position to the list-map 'u'.
Set this matrix's row at the 'i'th index position to the list-map 'u'.
- i
the row index
- u
the list-map of non-zero values to assign
-
def
update(i: Int, u: VectorN[T]): Unit
Set this matrix's row at the 'i'th index position to the vector 'u'.
Set this matrix's row at the 'i'th index position to the vector 'u'.
- i
the row index
- u
the vector value to assign
- Definition Classes
- SparseMatrixN → Matrix
-
def
update(i: Int, j: Int, x: T): Unit
Set this matrix's element at the 'i,j'-th index position to the scalar 'x'.
Set this matrix's element at the 'i,j'-th index position to the scalar 'x'. Only store x if it is non-zero.
- i
the row index
- j
the column index
- x
the scalar value to assign
- Definition Classes
- SparseMatrixN → Matrix
-
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( ... )
-
def
~^(p: Int): SparseMatrixN[T]
Raise this sparse matrix to the 'p'th power (for some integer 'p >= 2').
Raise this sparse matrix to the 'p'th power (for some integer 'p >= 2'). Caveat: should be replace by a divide and conquer algorithm.
- p
the power to raise this matrix to
- Definition Classes
- SparseMatrixN → Matrix