Alternative constructor leaving matrix dimensions to be determined automatically.
indexed rows of this matrix
number of rows. A non-positive value means unknown, and then the number of rows will be determined by the max row index plus one.
number of columns. A non-positive value means unknown, and then the number of columns will be determined by the size of the first row.
Computes the Gramian matrix A^T A
.
Computes the singular value decomposition of this matrix.
Computes the singular value decomposition of this matrix. Denote this matrix by A (m x n), this will compute matrices U, S, V such that A = U * S * V'.
There is no restriction on m, but we require n^2
doubles to fit in memory.
Further, n should be less than m.
The decomposition is computed by first computing A'A = V S2 V',
computing svd locally on that (since n x n is small), from which we recover S and V.
Then we compute U via easy matrix multiplication as U = A * (V * S-1).
Note that this approach requires O(n^3)
time on the master node.
At most k largest non-zero singular values and associated vectors are returned. If there are k such values, then the dimensions of the return will be:
U is an org.apache.spark.mllib.linalg.distributed.IndexedRowMatrix of size m x k that satisfies U'U = eye(k), s is a Vector of size k, holding the singular values in descending order, and V is a local Matrix of size n x k that satisfies V'V = eye(k).
number of singular values to keep. We might return less than k if there are numerically zero singular values. See rCond.
whether to compute U
the reciprocal condition number. All singular values smaller than rCond * sigma(0) are treated as zero, where sigma(0) is the largest singular value.
SingularValueDecomposition(U, s, V)
Multiply this matrix by a local matrix on the right.
Multiply this matrix by a local matrix on the right.
a local matrix whose number of rows must match the number of columns of this matrix
an IndexedRowMatrix representing the product, which preserves partitioning
Gets or computes the number of columns.
Gets or computes the number of columns.
Gets or computes the number of rows.
Gets or computes the number of rows.
indexed rows of this matrix
Drops row indices and converts this matrix to a org.apache.spark.mllib.linalg.distributed.RowMatrix.
:: Experimental :: Represents a row-oriented org.apache.spark.mllib.linalg.distributed.DistributedMatrix with indexed rows.