数学ソフトウェア
ソフトウェア電卓は利用者が加算、乗算、指数計算、そして三角関数のような単純な数学的な操作をするのを認識する。データー入力は典型的には手操作で、そして出力はテキスト・ラベルである。
数学ソフトウェア(すうがくソフトウェア)は、モデル、数値的あるいは記号的な解析あるいは計算、または幾何学データに用いられるソフトウェアである。 数学ソフトウェアは端的に言うと、数学の問題を解いたり、研究したりするのに用いる専用のソフトウェアである。数学とは何かについて様々な見解があるのに応じて、それに用いる数学ソフトウェアの範囲には広義と狭義にわたる見解がある。 実際、数学ソフトウェアのあるもの(数学ライブラリー)は他の科学ソフトウェアの一部に組み込まれて利用される場合がある。極めてプライマリーなもの(たとえば初等関数を浮動小数点演算をして計算する)も数学ソフトウェアの範疇に入るかもしれない。これらは一般的にはミドルウェアとして一般のシステムに組み込まれることがある。数学ソフトウェアはいわばアプリケーションソフトではあるが他の科学ソフトウェアの基本となるという側面がある。 数学ソフトウェアは教育目的などでユーザーインターフェイスが良いものも多いが、その問題を解く核となる部分は、数学上の知見に直接依存したアルゴリズムによっており、問題が少なくとも(ハードウェアに物理的な限界がある)数学的観点から構成的に解けなければ処理できなくなっている。これが他のアプリケーションソフトとの大きな違いだろう。 なかでも、数学ソフトウェアを使う際には以下に気を付けななければならない。
問題が解けることが必ずしも保証されていない。詳細は「ゲーデルの不完全性定理」を参照
問題が原理的に解けるかもしれないが、具体的に計算機で求めようとすると、多項式時間で解けず極めて難しい。詳細は「計算複雑性理論」を参照
2.の場合を逆に利用したのが暗号ソフトウェアである。