2879


コンピュータでは数値を扱わなければ答えを得ることができませんが、なぜ、Maximaなどの数値計算ツールは代数計算や微分積分が行えるのですか？


CC BY-SA 3.0
2014-12-31T15:40:56.103
2858
2015-01-01T05:04:37.073
2014-12-31T16:19:33.367
question
アルゴリズム
数式処理を行える理由


> コンピュータでは数値を扱わなければ答えを得ることができません...

計算機は数値を扱うものというよりは、論理計算ができるものと捉えたほうがより本質的かと考えます。

代数演算や微分積分というのは代数式を記号列としてとらえ記号列を他の列へ一定の規則に従い変換するものです。こういったもの（記号処理）も論理計算として定式化できるので計算機で解く事ができます。


CC BY-SA 3.0
2015-01-01T00:47:59.420
2879
2015-01-01T00:47:59.420
4417
2858
answer


代数演算や微分積分という視点は本質的でないと思うので一般論としての回答ですが、プログラムが数値を単なる数値としてだけでなく、様々なデータ構造として解釈しているというのが理由です。

例えば`34 76 23 10 0 5`
は単なる数列ですが、プログラムによってはこれを文字列や画素、代数式として解釈するかもしれません。データの実体が数値である以上は数値処理だけでデータの処理をすることができ、結果的には文字列処理、画像処理、代数計算などを実現していることになります。


CC BY-SA 3.0
2015-01-01T05:04:37.073
2884
2015-01-01T05:04:37.073
3639
2858
answer