Click or drag to resize
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.GXNetX
Assembly: 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 &lt;define&gt;GS_DOUBLE&lt;/define&gt;. 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 &lt;define&gt;GS_DOUBLE&lt;/define&gt;
Syntax
public static void SVDecompose(
	CGXNETCore gxNetShared,
	CPG pg_a,
	CPG pg_u,
	CVV vv_w,
	CPG pg_v
)

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