Owning Class: linalgebra
Requires: MathScript RT Module
R1 = updatechol(R, x)
R1 = updatechol(R, x, op)
[R1, p] = updatechol(R, x)
[R1, p] = updatechol(R, x, op)
Performs the Cholesky decomposition on a rank 1 updated or downdated matrix. LabVIEW performs the Cholesky decomposition more efficiently with this function than with the chol function.
|R||Specifies a square matrix. LabVIEW uses only the diagonal and upper triangular part of R to perform the rank 1 Cholesky update or downdate. LabVIEW ignores the lower triangular part of R. R is a 2D array of real or complex, double-precision, floating-point numbers.|
|x||Specifies a column vector. x is an array of real or complex, double-precision, floating-point numbers and must be of an appropriate length with respect to R.|
|op||Specifies whether to perform the rank 1 Cholesky update or downdate. op is a string that accepts the following values.
|R1||Returns the Cholesky decomposition. R1 is a 2D array of real or complex, double-precision, floating-point numbers and represents an upper triangular matrix.|
|p||Returns information about the Cholesky decomposition calculation when op is '-'. p returns 0 if R1 is the Cholesky decomposition of R'R-xx'. p is greater than 0 if updatechol fails and R1 is the Cholesky decomposition of R'R. p returns 1 if updatechol fails because R'R-xx' is not positive definite. p returns 2 if updatechol fails because R is not a valid Cholesky decomposition, that is, R'R is not positive definite. p is a 32-bit integer.|
The following table lists the support characteristics of this function.
|Supported in the LabVIEW Run-Time Engine||Yes|
|Supported on RT targets||Yes|
|Suitable for bounded execution times on RT||Not characterized|
R = rand(2);
x = rand(2, 1);
[R1, P] = updatechol(R, x, '-');