Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
09.02.2015
Размер:
239.1 Кб
Скачать

Factorization utilities

<qrdelete> - Delete a column or row from QR factorization.

QRDELETE Delete a column or row from QR factorization.

[Q1,R1] = QRDELETE(Q,R,J) returns the QR factorization of the matrix A1,

where A1 is A with the column A(:,J) removed and [Q,R] = QR(A) is the QR

factorization of A. Matrices Q and R can also be generated by

the "economy size" QR factorization [Q,R] = QR(A,0).

QRDELETE(Q,R,J,'col') is the same as QRDELETE(Q,R,J).

[Q1,R1] = QRDELETE(Q,R,J,'row') returns the QR factorization of the matrix

A1, where A1 is A with the row A(J,:) removed and [Q,R] = QR(A) is the QR

factorization of A.

Example:

A = magic(5); [Q,R] = qr(A);

j = 3;

[Q1,R1] = qrdelete(Q,R,j,'row');

returns a valid QR factorization, although possibly different from

A2 = A; A2(j,:) = [];

[Q2,R2] = qr(A2);

Class support for inputs Q,R:

float: double, single

See also qr, qrinsert, planerot.

Overloaded methods:

Xreglinear/qrdelete

Reference page in Help browser

doc qrdelete

<qrinsert> - Insert a column or row into QR factorization.

QRINSERT Insert a column or row into QR factorization.

[Q1,R1] = QRINSERT(Q,R,J,X) returns the QR factorization of the matrix A1,

where A1 is A=Q*R with an extra column, X, inserted before A(:,J). If A has

N columns and J = N+1, then X is inserted after the last column of A.

QRINSERT(Q,R,J,X,'col') is the same as QRINSERT(Q,R,J,X).

[Q1,R1] = QRINSERT(Q,R,J,X,'row') returns the QR factorization of the matrix

A1, where A1 is A=Q*R with an extra row, X, inserted before A(J,:).

Example:

A = magic(5); [Q,R] = qr(A);

j = 3; x = 1:5;

[Q1,R1] = qrinsert(Q,R,j,x,'row');

returns a valid QR factorization, although possibly different from

A2 = [A(1:j-1,:); x; A(j:end,:)];

[Q2,R2] = qr(A2);

Class support for inputs Q,R,X:

float: double, single

See also qr, qrdelete, planerot.

Reference page in Help browser

doc qrinsert

<rsf2csf> - Real block diagonal form to complex diagonal form.

RSF2CSF Real block diagonal form to complex diagonal form.

[U,T] = RSF2CSF(U,T) transforms the outputs of SCHUR(X) (where X

Is real) from Real Schur Form to Complex Schur Form. The Real

Schur Form has the real eigenvalues on the diagonal and the

complex eigenvalues in 2-by-2 blocks on the diagonal. The Complex

Schur Form is upper triangular with the eigenvalues of X on the

diagonal.

Arguments U and T represent the unitary and Schur forms of a

matrix A, such that A = U*T*U' and U'*U = eye(size(A)).

Class support for inputs U,T:

float: double, single

See also schur.

Reference page in Help browser

doc rsf2csf

<cdf2rdf> - Complex diagonal form to real block diagonal form.

CDF2RDF Complex diagonal form to real block diagonal form.

[V,D] = CDF2RDF(V,D) transforms the outputs of EIG(X) (where X is

real) from complex diagonal form to a real diagonal form. In

complex diagonal form, D has complex eigenvalues down the

diagonal. In real diagonal form, the complex eigenvalues are in

2-by-2 blocks on the diagonal. Complex conjugate eigenvalue pairs

are assumed to be next to one another.

Class support for inputs V,D:

float: double, single

See also eig, rsf2csf.

Reference page in Help browser

doc cdf2rdf

<balance> - Diagonal scaling to improve eigenvalue accuracy.

BALANCE Diagonal scaling to improve eigenvalue accuracy.

[T,B] = BALANCE(A) finds a similarity transformation T such

that B = T\A*T has, as nearly as possible, approximately equal

row and column norms. T is a permutation of a diagonal matrix

whose elements are integer powers of two so that the balancing

doesn't introduce any round-off error.

B = BALANCE(A) returns the balanced matrix B.

[S,P,B] = BALANCE(A) returns the scaling vector S and the

permutation vector P separately. The transformation T and

balanced matrix B are obtained from A,S,P by

T(:,P) = diag(S), B(P,P) = diag(1./S)*A*diag(S).

To scale A without permuting its rows and columns, use

the syntax BALANCE(A,'noperm').

See also eig.

Reference page in Help browser

doc balance

<planerot> - Givens plane rotation.

PLANEROT Givens plane rotation.

[G,Y] = PLANEROT(X), where X is a 2-component column vector,

returns a 2-by-2 orthogonal matrix G so that Y = G*X has Y(2) = 0.

Class support for input X:

float: double, single

See also qrinsert, qrdelete.

Reference page in Help browser

doc planerot

<cholupdate> - rank 1 update to Cholesky factorization.

CHOLUPDATE Rank 1 update to Cholesky factorization.

If R = CHOL(A) is the original Cholesky factorization of A, then

R1 = CHOLUPDATE(R,X) returns the upper triangular Cholesky factor of A + X*X',

where X is a column vector of appropriate length. CHOLUPDATE uses only the

diagonal and upper triangle of R. The lower triangle of R is ignored.

R1 = CHOLUPDATE(R,X,'+') is the same as R1 = CHOLUPDATE(R,X).

R1 = CHOLUPDATE(R,X,'-') returns the Cholesky factor of A - X*X'. An error

message reports when R is not a valid Cholesky factor or when the downdated

matrix is not positive definite and so does not have a Cholesky factorization.

[R1,p] = CHOLUPDATE(R,X,'-') will not return an error message. If p is 0

then R1 is the Cholesky factor of A - X*X'. If p is greater than 0, then

R1 is the Cholesky factor of the original A. If p is 1 then CHOLUPDATE failed

because the downdated matrix is not positive definite. If p is 2, CHOLUPDATE

failed because the upper triangle of R was not a valid Cholesky factor.

CHOLUPDATE works only for full matrices.

See also chol.

Reference page in Help browser

doc cholupdate

<qrupdate> - rank 1 update to QR factorization.

QRUPDATE Rank 1 update to QR factorization.

If [Q,R] = QR(A) is the original QR factorization of A, then

[Q1,R1] = QRUPDATE(Q,R,U,V) returns the QR factorization of A + U*V',

where U and V are column vectors of appropriate lengths.

QRUPDATE works only for full matrices.

See also qr, qrinsert, qrdelete.

Reference page in Help browser

doc qrupdate

Соседние файлы в папке Библиотеки Matlab