Accelerating the pace of engineering and science

# Documentation Center

• Trial Software
• Product Updates

# orth

Orthonormal basis for range of matrix

## 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?