Name

spaninter — subspace intersection

Calling Sequence

[X,dim]=spaninter(A,B [,tol])

Parameters

A, B

two real or complex matrices with equal number of rows

X

orthogonal or unitary square matrix

dim

integer, dimension of subspace range(A) inter range(B)

Description

computes the intersection of range(A) and range(B).

The first dim columns of X span this intersection i.e. X(:,1:dim) is an orthogonal basis for

range(A) inter range(B)

In the X basis A and B are respectively represented by:

X'*A and X'*B.

tol is a threshold (sqrt(%eps) is the default value).

Examples

 
A=rand(5,3)*rand(3,4);     // A is 5 x 4, rank=3
B=[A(:,2),rand(5,1)]*rand(2,2);
[X,dim]=spaninter(A,B);
X1=X(:,1:dim);    //The intersection
svd(A),svd([X1,A])   // X1 in span(A)
svd(B),svd([B,X1])   // X1 in span(B)
 

See Also

spanplus , spantwo

Authors

F. D.; ;