...サブルーチン1
機械語 (machine language) や、 Fortran 言語における、あるまとまった処理をするプログラムの単位を 呼ぶ言葉。C 言語における「関数」に相当すると考えて構わない。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... プログラミング言語2
当時は「自動プログラミング言語」 と呼ばれたそうである。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...FORTRAN3
FORTRAN は、 IBM が線形計画法のプログラムを効率的に作成するために開発した言語であると 言われている。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...TNT4
C++ 向けには LAPACK++ があったが、C++ 言語の ANSI 規格の進展に伴い、 新しく設計し直されたのが TNT である。まだ発展途上で、LAPACK の機能のすべ ては実装されていない。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 公開されているフリーソフトである5
このあたりに欧米文化の強さが 感じられる。ここで紹介したソフトの 中には、博士号クラスの研究者が数十人、何年も作業して始めて開発できたもの もある。日本でも大学を中心に様々なライブラリィの開発がされたが、全面公開 までこぎつけたものは少なく (途中で企業に売ってしまったものもある)、大変 もったいない事態になっていると筆者は感じている。こうなってしまった背景に は、ソフトウェアの開発を研究業績とは認めない風潮など、 二三の理由が考えられる…(脱線)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... インタープリター型言語である。そのため6
ここで指摘することは、 例えば Mathematica, Maple のような 数式処理系にも当てはまる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 注意深く利用しないと実行効率が低くなる7
ここで述べたような注意 は、かつてはパソコン上で BASIC 言語を使ってプログラムを開発する際の常識 であったのだが、今ではあまり知られていないことなのだろう。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 命令が簡潔になっていて、プログラミングも楽になった8
オブジェクト指向であり、 データ構造が隠蔽されていると言って良いかもしれない。 LAPACK などの利用で面倒な点の一つに、 プログラマーにライブラリィ中で定義されたデータ構造を正しくなぞったプログラムを 書く努力が要求されるというものがあるが、 MATLAB ではこれがなくなっている。 この点は C++ で書かれたライブラリィでも期待できることであるが。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... いくつか紹介しよう9
http://www.dspguru.com/sw/opendsp/mathclo2.htm などが参考になる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ライセンスしかないので10
実はまだ $1$ ライセンス分しかインストールしていない (苦笑)。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 分解したときの11
$P$ は行の交換を表わす 置換行列。$P^2=I$ (単位行列) という性質がある。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 描いて12
Octave 自身を使ってもよいし、 gnuplot を使っても良い。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 三角行列の逆行列が三角行列であることを実験で確かめよ13
与えられた行列の下三角部分を求める tril(), 上三角部分を求める triu() という関数が利用できるかもしれない。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.