Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский -
Scilabヘルプ >> Linear Algebra > Kernel > range

range

A^kの範囲

呼び出し手順

[X,dim]=range(A,k)

引数

A

実数正方行列

k

整数

X

直交実数行列

dim

整数 (部分空間の次元)

説明

範囲 A^kを計算します ; X の 最初の dim 行は, A^kの範囲に広がります. Xの最後の行は, この直交相補な範囲に広がります. X*X' は単位行列です.

A=rand(4,2)*rand(2,4);   // 4 列ベクトル, 2 独立.
[X,dim]=range(A,1);dim   // 範囲を計算

y1=A*rand(4,1);          //Aの範囲のベクトル
y2=rand(4,1);            //Aの範囲にないベクトル
norm(X(dim+1:$,:)*y1)    //最後のエントリはゼロ, y1 はAの範囲
norm(X(dim+1:$,:)*y2)    //最後のエントリは非ゼロ

I=X(1:dim,:)'            //I が範囲の基底
coeffs=X(1:dim,:)*y1     // 基底Iに関連するy1の要素

norm(I*coeffs-y1)        //check

参照

使用される関数

range 関数は, svd分解を使用する rowcomp 関数 に基づいています.

Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:35:24 CEST 2016