
60 Appendix A2 Exported Function Summary
int IOlsNorm(MATRIX mXt, int cX, int cT, MATRIX mYt, int cY,
MATRIX mB, MATRIX mXtXinv, MATRIX mXtX, bool fInRows);
mXt[cX][cT] in: X data matrix
out: unchanged
mYt[cY][cT] in: Y data matrix
out: unchanged
mB[cY][cX] in: allocated matrix
out: coefficients
mXtXinv[cX][cX] in: allocated matrix or NULL
out: (X
0
X)
−1
if !NULL
mXtX[cX][cX] in: allocated matrix or NULL
out: X
0
X if !NULL
fInRows in: if FALSE, input is mXt[cT][cX],mYt[cT][cY]
int IOlsQR(MATRIX mXt, int cX, int cT, MATRIX mYt, int cY,
MATRIX mB, MATRIX mXtXinv, MATRIX mXtX, VECTOR vW);
mXt[cX][cT] in: X data matrix
out: QR decomposition of X, but only if all three re-
turn arguments mB, mXtXinv, mXtX are NULL
mYt[cY][cT] in: Y data matrix
out: Q
0
Y
mB[cY][cX] in: allocated matrix or NULL
out: coefficients if !NULL
mXtXinv[cX][cX] in: allocated matrix or NULL
out: (X
0
X)
−1
if !NULL
mXtX[cX][cX] in: allocated matrix or NULL
out: X
0
X if !NULL
vW[cT] in: vector
out: workspace
Return value
0: out of memory,
1: success,
2: ratio of diagonal elements of (X
0
X) is large,
rescaling is adviced,
−1: (X
0
X) is (numerically) singular,
−2: combines 2 and -1.
void OlsQRacc(MATRIX mXt, int cX, int cT, int *piPiv, int cR,
VECTOR vTau, MATRIX mYt, int cY, MATRIX mB, MATRIX mXtXinv,
MATRIX mXtX)
Komentarze do niniejszej Instrukcji