Scilab Function
Last update : April 1993

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`,

### Author

F. D.; ;