Quantcast

Documentation Center

  • Trial Software
  • Product Updates

orth

Orthonormal basis for range of matrix

Syntax

Description

example

Q = orth(A) returns an orthonormal basis for the range of A. The columns of Q are vectors, which span the range of A. The number of columns in Q is equal to the rank of A.

Examples

expand all

Basis for Full Rank Matrix

Calculate and verify the orthonormal basis vectors for the range of a full rank matrix.

Define a matrix and find the rank.

A = [1 0 1;-1 -2 0; 0 1 -1];
r = rank(A)
r =

     3

Since A is a square matrix of full rank, the orthonormal basis calculated by orth(A) matches the matrix U calculated in the singular value decomposition, [U,S] = svd(A,'econ'). This is because the singular values of A are all nonzero.

Calculate the orthonormal basis for the range of A using orth.

Q = orth(A)
Q =

   -0.1200   -0.8097    0.5744
    0.9018    0.1531    0.4042
   -0.4153    0.5665    0.7118

The number of columns in Q is equal to rank(A). Since A is of full rank, Q and A are the same size.

Verify that the basis, Q, is orthogonal and normalized within a reasonable error range.

E = norm(eye(r)-Q'*Q,'fro')
E =

   9.6228e-16

The error is on the order of eps.

Basis for Rank Deficient Matrix

Calculate and verify the orthonormal basis vectors for the range of a rank deficient matrix.

Define a singular matrix and find the rank.

A = [1 0 1; 0 1 0; 1 0 1];
r = rank(A)
r =

     2

Since A is rank deficient, the orthonormal basis calculated by orth(A) matches only the first r = 2 columns of matrix U calculated in the singular value decomposition, [U,S] = svd(A,'econ'). This is because the singular values of A are not all nonzero.

Calculate the orthonormal basis for the range of A using orth.

Q = orth(A)
Q =

   -0.7071         0
         0    1.0000
   -0.7071         0

Since A is rank deficient, Q contains one fewer column than A.

Input Arguments

expand all

A — Input matrixscalar | vector | matrix

Input matrix, specified as a scalar, vector, or matrix.

Data Types: single | double
Complex Number Support: Yes

More About

expand all

Range

The column space, or range, of a matrix A is the collection of all linear combinations of the columns of A. Any vector, b, that is a solution to the linear equation, A*x = b, is included in the range of A since you can also write it as a linear combination of the columns of A.

Rank

The rank of a matrix is equal to the dimension of the range.

Algorithms

orth is obtained from U in the singular value decomposition, [U,S] = svd(A,'econ'). If r = rank(A), the first r columns of U form an orthonormal basis for the range of A.

See Also

| |

Was this topic helpful?