![](../icons/Help.png) | CPGUSVRecompose Method |
Reconstitute the original matrix from an SVD.
Available since Oasis montaj version: 5.0
License: Available to anyone with an Oasis Montaj license.
Namespace: Geosoft.Desktop.GXNetXAssembly: geosoft.desktop.gxnetx (in geosoft.desktop.gxnetx.dll)
Notes
The matrix is input as an N rows (data) by M columns (variables) PG.
On return, the matrix is decomposed to A = U * W * Vt.
If M<N, then an error will be registered. In this case, augment the
"A" PG with rows of zero values.
The input matrices must be A[M,N], U[M.N] and V[N,N]. The length of the W VV
is set by sSVDecompose_PGU to N.
The Pagers must be type <define>GS_DOUBLE</define>.
Terminates if:
U is not M by N. (Taken from size of A)
V is not N by N. (Taken from #columns in A).
PGs, VV are not <define>GS_DOUBLE</define>.
Dummies are treated as 0 values.
Syntaxpublic static void SVRecompose(
CGXNETCore gxNetShared,
CPG pg_u,
CVV vv_w,
CPG pg_v,
double min_w,
CPG pg_a
)
Public Shared Sub SVRecompose (
gxNetShared As CGXNETCore,
pg_u As CPG,
vv_w As CVV,
pg_v As CPG,
min_w As Double,
pg_a As CPG
)
public:
static void SVRecompose(
CGXNETCore^ gxNetShared,
CPG^ pg_u,
CVV^ vv_w,
CPG^ pg_v,
double min_w,
CPG^ pg_a
)
static member SVRecompose :
gxNetShared : CGXNETCore *
pg_u : CPG *
vv_w : CVV *
pg_v : CPG *
min_w : float *
pg_a : CPG -> unit
Parameters
- gxNetShared
- Type: GeoEngine.Core.GXNetXCGXNETCore
A shared CGXNETCore - pg_u
- Type: GeoEngine.Core.GXNetXCPG
U matrix - vv_w
- Type: GeoEngine.Core.GXNetXCVV
Weights (W) - pg_v
- Type: GeoEngine.Core.GXNetXCPG
V matrix - min_w
- Type: SystemDouble
Minimum weight to use (Dummy for all) - pg_a
- Type: GeoEngine.Core.GXNetXCPG
A matrix (returned)
See Also