updatechol (MathScript RT Module Function)

LabVIEW 2012 MathScript RT模块帮助

»查看产品信息 下载帮助（仅限Windows）

Owning Class: linalgebra

Requires: MathScript RT Module

Syntax

R1 = updatechol(R, x)

R1 = updatechol(R, x, op)

[R1, p] = updatechol(R, x)

[R1, p] = updatechol(R, x, op)

Legacy Name: cholupdate

Description

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.

Examples

Inputs

Name Description
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.

 '+' (default) Performs the Cholesky decomposition on the rank 1 updated matrix, R'R+xx'. '-' Performs the Cholesky decomposition on the rank 1 downdated matrix, R'R-xx'.

Outputs

Name Description
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.

Details

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

Examples

R = rand(2);
x = rand(2, 1);
[R1, P] = updatechol(R, x, '-');

﻿