# spanplus

部分空間の合計

## 呼び出し手順

    [X,dim,dima]=spanplus(A,B[,tol])

## パラメータ

A, B

  同数の行を有する実数または複素数の行列

X

  直交またはユニタリ正方行列

dim, dima

  整数, 部分空間の次元

tol

  非負の実数

## 説明

基底Xは以下を計算します:

`X`の最初の`dima`列は, range(`A`)に展開されます. そして,これ以降の(`dim-dima`)列は, `A+B` の`A`に関する 基底を構成します.

`X`の最初の`dim`列は, `A+B`の基底を構成します.

`[A,B]`に関する以下の正準形式が定義されます:

             [*,*]    (dima 行)
    X'*[A,B]=[0,*]    (dim-dima 行)
             [0,0]

`tol` は オプションの引数です(関数のコードを参照).

## 例

    A=rand(6,2)*rand(2,5);      // rank(A)=2
    B=[A(:,1),rand(6,2)]*rand(3,3);   //独立なベクトル2つを追加
    [X,dim,dimA]=spanplus(A,B);
    dimA
    dim

## 参照

- spaninter
- im_inv
- spantwo