... (原子炉圧力容器の構造計算であるとか1
本来は、 偏微分方程式で、未知数の個数は無限というべき問題だが、適当な離散化により、 有限次元の問題になる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... とほとんど差がない2
実際、 連立1次方程式は Gauss の消去法など exact な計算法が知られているが、 CG 法などの反復法が採用されることも多い。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... はかなりコンピューター寄り3
2進法, ポインター (メモリーのアドレス) など、 生のコンピューターを意識させてしまうというのは、 到底抽象度が高いとは言いかねる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... は数値計算もまあまあこなしす4
いざとなれば、 FORTRAN で書かれた数値計算ライブラリィとリンクすることもできる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... が苦手なことの多く5
OS などのシステムの記述、 少し前の時代のワードプロセッサー, ヴィデオ・ゲームなどのソフトウェア、 家電製品の組み込み用マイコンのためのプログラムなど。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 風6
C++ はほぼ上位互換性を持っている (C のプログラムは C++ のプログラムでもある)。 Java もプログラムの体裁では C のプログラムに似ているところが多く、 多少は親近感が抱けるはず。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 点セットが必要7
もう少し 詳しく言うと、 C のプログラムと、 それを実行するときどういう入力を与えて結果がどうであったかのデータ (ここまでで実験の追試が可能になる)、 その結果をどう判断するか自分なりの説明 (必ずしも長い必要はない)。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (論理数学、計算可能性の理論など8
どうも、 工学系の人は新しもの好きで、 一度出来てしまったことには冷淡なことが多いようだが、 これらが根本的に重要であることを忘れてはいけない。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 従来の数学の「教科書」に載っているもの9
それらは手計算で解ける規模の問題向きであって、 コンピューターが相手にするような規模の問題には不適当なことが多い。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 依存したライブラリィが必要になる10
ただし Java 言語などの登場で このあたりの事情は変わりつつある。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...数値計算ライブラリィ 11
例えば連立1次方程式や固有値問題などを解くための Fortran サブルーチンを集めた LINPACK, EISPACK, LAPACK などが草分け。 これら数値計算ライブラリィは人類の文化遺産だと言う人も いるくらい、多くの人の知恵と努力の結晶である。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 学ぶ12
方程式を難しくする「原因」として、非線型性と無限次元性が ある。ここでは非線型性を取り上げる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... て解けない13
「例外的な状況」は重要でないと勘違いしないように。 解けるような例外的な問題には重要なものも多い。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 紙と鉛筆の計算で具体的に解くのが難しいことがしばしばある14
方程式によっては、 手計算では実際的な解法がないものもある、 というかそういうものの方が多いわけだが、 大学二年次までの段階では、 具体的に解ける問題を扱うことの方が多いので、 ピンと来ないかもしれない。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... $ 役立つことが多い$15
ここで引き合いに出すのは、 少々こじつけかもしれないが、 アルキメデス (BC 287-212, シラクサに生まれ、 シラクサに没する) の『方法』に、 「ある種の問題は、まず工学的な方法で答が明らかになってしまう。 もちろん後で幾何学的に証明を付けなくてはいけないのだけれども、 それでも最初から答がわかっているのと、一から考えなくては ならないのとでは雲泥の差がある」-- 木村俊一, 『天才数学者はこう解いた、 こう生きた』、講談社から引用。つまり 2000 年の歴史のある言い訳。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 既に何らかの解法16
掃き出し法 (ヨルダン Jordan の消去法)、 Gauss の消去法など。 理論的には Cramer の方法 (あまり実用的でない)。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 根の公式17
Cardano の方法、Ferrari の方法。 もっとも、とても複雑で、 紙と鉛筆で計算するのは (少なくとも私は) うんざりしてしまう。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... $ を用いる場合は$18
一方、 単精度 (float) の場合には $10^-7$ 程度にすべきであろう。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... $ かけた数程度にするのが適当であろう$19
本当は、 もっと精密な考えに基づいた妥当なやり方があるが、 ここでは省略する。 興味があれば、 杉原正顯、室田一雄、『数値計算法の数理』、岩波書店などを見よ。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... を定めると、適当な条件20
Newton 法が収束するための十分条件は色々知られているが、ここ では説明しない。簡単なものは微分積分学のテキストに載っていることも多い。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...pow() 21
参考情報: pow(a,b)ab 乗が計算できる。 例えば pow(2.0, 1.0/3.0)$ 2$ の立法根が計算できる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 連立方程式22
この問題は複素数の世界で考えると、ネタがばれる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.