![](../icons/Help.png) | CPGUSVDecompose Method |
Do a singular value decomposition on a matrix stored as a PG
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 sSVD_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>
Syntaxpublic static void SVDecompose(
CGXNETCore gxNetShared,
CPG pg_a,
CPG pg_u,
CVV vv_w,
CPG pg_v
)
Public Shared Sub SVDecompose (
gxNetShared As CGXNETCore,
pg_a As CPG,
pg_u As CPG,
vv_w As CVV,
pg_v As CPG
)
public:
static void SVDecompose(
CGXNETCore^ gxNetShared,
CPG^ pg_a,
CPG^ pg_u,
CVV^ vv_w,
CPG^ pg_v
)
static member SVDecompose :
gxNetShared : CGXNETCore *
pg_a : CPG *
pg_u : CPG *
vv_w : CVV *
pg_v : CPG -> unit
Parameters
- gxNetShared
- Type: GeoEngine.Core.GXNetXCGXNETCore
A shared CGXNETCore - pg_a
- Type: GeoEngine.Core.GXNetXCPG
Input A matrix, M data (rows), N variables (columns) - pg_u
- Type: GeoEngine.Core.GXNetXCPG
The returned U Matrix - vv_w
- Type: GeoEngine.Core.GXNetXCVV
Returned weights (W) - pg_v
- Type: GeoEngine.Core.GXNetXCPG
Returned V matrix
See Also