Distributed Processing¶
This mode assumes that data set is split in nblocks
blocks across computation nodes.
Algorithm Parameters¶
The SVD algorithm in the distributed processing mode has the following parameters:
Parameter |
Default Valude |
Description |
---|---|---|
|
Not applicable |
The parameter required to initialize the algorithm. Can be:
|
|
|
The floating-point type that the algorithm uses for intermediate computations. Can be |
|
|
Performance-oriented computation method, the only method supported by the algorithm. |
|
|
Specifies whether the matrix of left singular vectors is required. Can be:
|
|
|
Specifies whether the matrix of right singular vectors is required. Can be:
|
Use the three-step computation schema to compute SVD:
Step 1 - on Local Nodes¶
In this step, SVD accepts the input described below.
Pass the Input ID
as a parameter to the methods that provide input for your algorithm.
For more details, see Algorithms.
Input ID |
Input |
---|---|
|
Pointer to the \(n_i \times p\) numeric table that represents the \(i\)-th data block on the local node. Note The input can be an object of any class derived from |
In this step, SVD calculates the results described below.
Pass the Partial Result ID
as a parameter to the methods that access the results of your algorithm.
For more details, see Algorithms.
Partial Result ID |
Result |
---|---|
|
A collection that contains numeric tables each with the partial result to transmit to the master node for Step 2. |
|
A collection that contains numeric tables each with the partial result to keep on the local node for Step 3. |
Note
By default, the tables in these collections are objects of the HomogenNumericTable
class,
but you can define them as objects of any class derived from NumericTable
except PackedSymmetricMatrix
, PackedTriangularMatrix
, and CSRNumericTable
.
Step 2 - on Master Node¶
In this step, SVD accepts the input from each local node described below.
Pass the `Input ID`
as a parameter to the methods that provide input for your algorithm.
For more details, see Algorithms.
Input ID |
Input |
---|---|
|
A collection that contains results computed in Step 1 on local nodes ( Note The collection can contain objects of any class derived from |
|
A key, a number of type Keys enable tracking the order in which partial results from Step 1 ( |
In this step, SVD calculates the results described below.
Pass the Partial Result ID
or Result ID
as a parameter to the methods that access the results of your algorithm.
For more details, see Algorithms.
Partial Result ID |
Result |
---|---|
|
A collection that contains numeric tables to be split across local nodes to compute left singular vectors.
Set to Note By default, these tables are objects of the |
Result ID |
Result |
---|---|
|
Pointer to the \(1 \times p\) numeric table with singular values (the diagonal of the matrix \(\Sigma\)). Note By default, this result is an object of the |
|
Pointer to the \(p \times p\) numeric table with right singular vectors (matrix \(V\)).
Pass Note By default, this result is an object of the |
Step 3 - on Local Nodes¶
In this step, SVD accepts the input described below.
Pass the Input ID
as a parameter to the methods that provide input for your algorithm.
For more details, see Algorithms.
Input ID |
Input |
---|---|
|
A collection that contains results computed in Step 1 on local nodes ( Note The collection can contain objects of any class derived from |
|
A collection that contains results computed in Step 2 on local nodes ( Note The collection can contain objects of any class derived from |
In this step, SVD calculates the results described below.
Pass the Result ID
as a parameter to the methods that access the results of your algorithm.
For more details, see Algorithms.
Result ID |
Result |
---|---|
|
Pointer to the \(n \times p\) numeric table with left singular vectors (matrix \(U\)).
Pass Note By default, this result is an object of the |