Construct a matrix and assign values from matrix u.
Construct a matrix and assign values from matrix u.
the matrix of values to assign
Construct a matrix and assign values from array of vectors u.
Construct a matrix and assign values from array of vectors u.
the 2D array of values to assign
Construct a matrix from repeated values.
Construct a matrix from repeated values.
the (row, column) dimensions
the repeated values
Construct a matrix and assign values from array of arrays u.
Construct a matrix and assign values from array of arrays u.
the 2D array of values to assign
Construct a dim1 by dim2 matrix and assign each element the value x.
Construct a dim1 by dim2 matrix and assign each element the value x.
the row dimension
the column dimesion
the scalar value to assign
Construct a dim1 by dim1 square matrix.
Construct a dim1 by dim1 square matrix.
the row and column dimension
the first/row dimension
the second/column dimension
the 2D array used to store matrix elements
Multiply this matrix by scalar x.
Multiply this matrix by vector u.
Multiply this matrix by matrix b, transposing b to improve efficiency.
Multiply this matrix by matrix b, transposing b to improve efficiency. Use 'times' method to skip the transpose step.
the matrix to multiply by (requires sameCrossDimensions)
Multiply this matrix by vector u to produce another matrix (a_ij * u_j) E.
Multiply in-place this matrix by vector u to produce another matrix (a_ij * u_j)
Multiply in-place this matrix by scalar x.
Multiply in-place this matrix by matrix b, transposing b to improve efficiency.
Multiply in-place this matrix by matrix b, transposing b to improve efficiency. Use 'times_ip' method to skip the transpose step.
the matrix to multiply by (requires square and sameCrossDimensions)
Add this matrix and scalar x.
Add this matrix and vector u.
Add this matrix and vector u.
the vector to add
Add this matrix and matrix b.
Add this matrix and matrix b.
Add this matrix and matrix b.
the matrix to add (requires leDimensions)
Concatenate this matrix and vector u.
Add in-place this matrix and scalar x.
Add in-place this matrix and matrix b.
Add in-place this matrix and matrix b.
the matrix to add (requires leDimensions)
From this matrix subtract scalar x.
From this matrix subtract matrix b.
From this matrix subtract matrix b.
the matrix to subtract (requires leDimensions)
From this matrix subtract in-place scalar x.
From this matrix subtract in-place matrix b.
From this matrix subtract in-place matrix b.
the matrix to subtract (requires leDimensions)
Divide this matrix by scalar x.
Divide in-place this matrix by scalar x.
Get a slice this matrix row-wise at index i and column-wise on range jr.
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 on range jr.
Get this matrix's vector at the i-th index position (i-th row).
Get this matrix's element at the i,j-th index position.
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.
the cutoff threshold (a small value)
whether to use relative or absolute cutoff
Get column 'col' from the matrix, returning it as a vector.
the first/row dimension
the second/column dimension
Compute the determinant of this matrix.
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] where Ip is a p by p identity matrix, by positioning the two matrices Ip and this along the diagonal.
Form a matrix [Ip, this] where Ip is a p by p identity matrix, by positioning the two matrices Ip and this along the diagonal. Fill the rest of matrix with zeros.
the size of identity matrix Ip
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].
the matrix to combine with this matrix
Dimension 1
Dimension 2
Compute the dot product of 'this' matrix and vector 'u', by first transposing 'this' matrix and then multiplying by 'u' (ie.
Compute the dot product of 'this' matrix and vector 'u', by first transposing 'this' matrix and then multiplying by 'u' (ie., 'a dot u = a.t * u').
the vector to multiply by (requires same first dimensions)
Compute the dot product of 'this' matrix and matrix 'b', by first transposing 'this' matrix and then multiplying by 'b' (ie.
Compute the dot product of 'this' matrix and matrix 'b', by first transposing 'this' matrix and then multiplying by 'b' (ie., 'a dot b = a.t * b').
the matrix to multiply by (requires same first dimensions)
Format string used for printing vector values (change using setFormat)
Format string used for printing vector values (change using setFormat)
Show the flaw by printing the error message.
Show the flaw by printing the error message.
the method where the error occurred
the error message
Iterate over the matrix row by row.
Get the kth diagonal of this matrix.
Invert this matrix (requires a squareMatrix) and use partial pivoting.
Invert in-place this matrix (requires a squareMatrix) and uses partial pivoting.
Invert this matrix (requires a squareMatrix) and does not use partial pivoting.
Check whether this matrix is nonnegative (has no negative elements).
Check whether this matrix is rectangular (all rows have the same number of columns).
Check whether this matrix is square (same row and column dimensions).
Check whether this matrix is square (same row and column dimensions).
Check whether this matrix is symmetric.
Check whether this matrix is symmetric.
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.
the other matrix
Decompose 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.
Decompose this matrix into the product of upper and lower triangular matrices (l, u) using the LU Decomposition algorithm.
Decompose this matrix into the product of upper and lower triangular matrices (l, u) using the LU Decomposition algorithm. This version uses no partial pivoting.
Find the magnitude of this matrix, the element value farthest from zero.
Find the magnitude of this matrix, the element value farthest from zero.
Find the maximum element in this matrix.
Find the minimum element in this matrix.
Compute the 1-norm of this matrix, i.
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). FIX: need a more robust algorithm for computing nullspace (@see QRDecomp.scala)
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).
Range for the storage array on dimension 1 (rows)
Range for the storage array on dimension 1 (rows)
Range for the storage array on dimension 2 (columns)
Range for the storage array on dimension 2 (columns)
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.
Use Gauss-Jordan reduction 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.
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.
the other matrix
Check whether this matrix and the other Matrix have the same dimensions.
Check whether this matrix and the other Matrix have the same dimensions.
the other matrix
Select columns from this matrix according to the given index/basis.
Select rows from this matrix according to the given index/basis.
Set this matrix's ith row starting at column j to the vector u.
Set all the values in this matrix as copies of the values in 2D array u.
Set all the elements in this matrix to the scalar x.
Set column 'col' of the matrix to a vector.
Set the main diagonal of this matrix to the scalar x.
Set the kth diagonal of this matrix to the vector u.
Set the format to the newFormat.
Slice this matrix row-wise 'r_from' to 'r_end' and column-wise 'c_from' to 'c_end'.
Slice this matrix row-wise 'from' to 'end'.
Slice this matrix column-wise 'from' to 'end'.
Slice this matrix column-wise 'from' to 'end'.
the start column of the slice (inclusive)
the end column of the slice (exclusive)
Slice this matrix excluding the given row and/or column.
Solve for x in the equation a*x = b where a is this matrix (see lud above).
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).
Compute the sum of this matrix, i.
Compute the abs sum of this matrix, i.
Compute the sum of the lower triangular region of this matrix.
Swap the elements in rows 'i' and 'k' starting from column 'col'.
Swap the elements in rows 'i' and 'k' starting from column 'col'.
the first row in the swap
the second row in the swap
the starting column for the swap (default 0 => whole row)
Swap the elements in columns 'j' and 'l' starting from row 'row'.
Swap the elements in columns 'j' and 'l' starting from row 'row'.
the first column in the swap
the second column in the swap
the starting row for the swap (default 0 => whole column)
Transpose this matrix (rows => columns).
Multiply this matrix by matrix b without first transposing b.
Multiply this matrix by matrix b without first transposing b.
the matrix to multiply by (requires sameCrossDimensions)
Multiply this matrix by matrix b using dot product (concise solution).
Multiply this matrix by matrix b using dot product (concise solution).
the matrix to multiply by (requires sameCrossDimensions)
Multiply in-place this matrix by matrix b without first transposing b.
Multiply in-place this matrix by matrix b without first transposing b. If b and this reference the same matrix (b == this), a copy of the this matrix is made.
the matrix to multiply by (requires square and sameCrossDimensions)
Multiply this matrix by matrix b using the Strassen matrix multiplication algorithm.
Multiply this matrix by matrix b using the Strassen matrix multiplication algorithm. Both matrices (this and b) must be square. Although the algorithm is faster than the traditional cubic algorithm, its requires more memory and is often less stable (due to round-off errors). FIX: could be make more efficient using a virtual slice (vslice) method.
the matrix to multiply by (it has to be a square matrix)
http://en.wikipedia.org/wiki/Strassen_algorithm
Convert this real (double precision) matrix to a string.
Convert this real (double precision) matrix to a string.
Compute the trace of this matrix, i.
Set a slice this matrix row-wise at index i and column-wise on range jr.
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 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
the row range
the column range
the matrix to assign
Set this matrix's row at the i-th index position to the vector u.
Set this matrix's element at the i,j-th index position to the scalar x.
Write this matrix to a CSV-formatted text file.
Write this matrix to a CSV-formatted text file.
the name of file holding the data
Raise this matrix to the pth power (for some integer p >= 2).
The
MatrixD
class stores and operates on Numeric Matrices of type Double. This class follows the MatrixN framework and is provided for efficieny.