ここでは、Slabの使い方を説明します。
SlabをRedhat7.2系にインストールしたとしましょう。Slabのトップページに行き、ktermで
> ./Slab
とすると起動します。ただし、以下、Linuxのシェルのプロンプトを > であらわします。起動すると
A>
というプロンプトが現れればSlabが起動したことになります。
Slabは基本的な部分ではMATLABとよく似ています。
行列は
A> A=[1,2,3;3,4,5;5,6,7]
のように入力します。数値はdoubleで記憶されます行と行の区切りはセミコロン ; ですが、MATLABと異なり、列と列の区切りは、コンマを使います。空白では区切れませんので注意してください。
ベクトルは
A> b=[1;1;1]
のように入力します。転置は ' です。MATLABと同様、入力の最後にセミコロン ; を加えると入力した結果が表示されません。
どんな変数が入力されているかをチェックするために
A> who
と打ってみましょう。ユーザが定義した変数と関数の一覧表が出てきます。
では、ここで、上に打ち込んだ3x3行列Aと3次元ベクトルbによって定義される行列方程式
Ax=b
の解をSlabで求めてみましょう。これはMATLABと同じで
A> x=A\b
とすれば解が求められます。
さて、以上の解法では、行列が正則なのかどうか、答えが何桁あっているのかという質問には答えられません。Slabはこれを数学的に100パーセント厳密に応えることができます。そのためにSlabのモードを変更します。
A> !
とびっくりマーク ! を打ち込んでみてください。プロンプトが
V>
と変わったと思います。これを精度保証モードと呼びます。A>というプロンプトが現れていたときを、近似計算モード(AはApproximationのA)と呼びます。VはVerificationのVです。このモードで再び
V> x=A\b
と打ってみてください。すると行列Aが正則である場合には、正則であることが示されて、誤差が表示されます。これは最大値ノルム評価での絶対誤差を表しています。すなわち、各成分ごとに最大誤差は、表示された誤差以下であることが保証されます。これは、最近の著者による精度保証付き数値計算の理論に基づき計算されています。大変高速で、近似計算をもう一回する手間で精度が保証されています。
近似計算モードに戻るには
V> $
と打ちます。すると
A>
とプロンプトが変わり、近似計算モードに戻ります。
Slabは近似計算モードでも、精度保証モードでも exit と打てば終了します。
Slabにはもう一つモードがあります。それは、ヘルプモードです。近似計算モードでも、精度保証モードでもhelpと打つとヘルプモードに移ります。このとき、Slabはhelpで見れる項目の一覧を出してヘルプモードに入ります。
H>
がヘルプモードでのプロンプトです。もし、その項目の中で見たいものがあれば、例えば、
H> eig
などと打ってみてください。すると、その項目の解説が出てきます。例題も入っていますので、これをみると使い方が具体的にわかります。
ヘルプモードではSlabを終了することはできません。近似計算モード($を打つ)か、精度保証モード(!を打つ)へ移ってから、exitで終了してください。
Slabには多様な機能があります。ヘルプをうまく利用して、使いこなしてください。
このページのURIはhttp://www.oishi.info.waseda.ac.jp/~oishi/slab/useofslab.htm
最終更新 2002/8/16