数学ソフトウェア

数学ソフトウェア（すうがくソフトウェア）は、モデル、数値的あるいは記号的な解析あるいは計算、または幾何学データに用いられるソフトウェアである。
数学ソフトウェアは端的に言ってしまうと、数学の問題を解いたり、研究したりするのに用いる専用のソフトウェアである。数学とは何かについて様々な見解があるのに応じて、それに用いる数学ソフトウェアの範囲にも広義と狭義にわたる見解がある。
実際、数学ソフトウェアのあるもの（数学ライブラリー）は他の科学ソフトウェアの一部に組み込まれて利用されたりもする。極めてプライマリーなもの（たとえば初等関数を浮動小数点演算をして計算する）のも数学ソフトウェアの範疇に入るかもしれない。これらは普通ミドルウェアとして一般のシステムに組み込まれていたりする。いわば数学ソフトウェアはアプリケーションソフトではあるが他の科学ソフトウェアの基本となっているという意味でそれが特徴の一つともなっている。
数学ソフトウェアは教育目的などでユーザーインターフェイスが良くなっているものも多いが（数学教育用ソフトウェアを見よ）、その問題を解く核となっている部分は"直接に"数学上の知見に依存したアルゴリズムによっており、問題が少なくとも（ハードウェアに物理的な限界がある）数学的に構成的に解けなければ処理できなくなっているのは当たり前だろう。これが他のアプリケーションソフトとの大きな違いだろう。
なかでも、数学ソフトウェアを使う際に次のような場合があることに気を付けなくてはいけないことはほとんど常識だろう。
2.の場合を逆に利用したのが暗号ソフトウェアである。
数学ソフトウェアの進化.
従来は主に数値解析と数式処理の分野が重要な位置を占めていたが、他のものも広がりを見せている。電子計算機が現れる以前の（数値的）解法が電子計算機の出現によって、広く用いられるようになった例のように、電子計算機の発明以前にあったアルゴリズムなどの有用な数学的知見が数学ソフトウェアの開発に寄与した一方で、（ムーアの法則に見られるような）の増大によって、従来では別物だったアルゴリズム、処理方法が統合されて、（例えば数値解析と統計学が組み合わさったようなデータ同化などの）新しい手法が逆に広い意味での数理科学ないし応用数学の発展を要請している。
TeXやMathMLなどの数学的な情報の表現方法の進歩は、（数学の体系が矛盾しているかどうかという問題とは別に）従来の単なる"数式"処理言語を真の"数学"処理言語へと進化を促すだろう。そして汎用的な数学ソフトウェアの普及の一方において、特殊な問題を扱う、いわば一芸ソフトのような数学ソフトウェアもプラットフォームの標準化が進む環境に適応しつつ生き残るだろう。そうして数学ソフトウェアの多様性は維持されていくだろう。
ソフトウェア電卓.
ソフトウェア電卓は利用者が加算、乗算、指数計算、そして三角関数のような単純な数学的な操作をするのを認識する。データー入力は典型的には手操作で、そして出力はテキスト・ラベルである。
数式処理システム.
多くの数学的な一揃いのものは数式処理を用いる数式処理システムである。それらは人が読める記号法において古典的な代数方程式と問題を解くよう設計されている。
統計学.
多くのツールがデータの統計的な解析のために利用できる。
数値解析.
ユニバーサル・テクニカル・システムズ,Inc.（英：Universal Technical Systems,Inc）により商品化された、は、ルール・ベース言語を宣言することに基づいて、数理モデリングと数値問題を解くソフトウェア・システムである。
NetlibリポジトリはたいていのFortranならびにCの、数値的な問題のためのソフトウェア・ルーチンの多様な収集物を含む。多くの異なった数値的なアルゴリズムを実装する商品化された製品はIMSL、そしてNAG数値計算ライブラリを含んでいる；ひとつのフリーな代価案としてはGNU Scientific Library
がある。力点がアルゴリズムの明確な理解におかれる、違ったアプローチはによって採用される。
（以上に挙げた）多くの数式処理システムは数値的な計算に使うこともできる。
音楽数学ソフトウェア.
音楽数学ソフトウェアは音楽の記号やパターンを解析または合成するのに数学を利用する。
ウェブサイト.
ダウンロードまたは何らかのコードのインストールの必要なしに、ウェブ・ブラウザーで利用できる数学ソフトウェアは増大しつつある。 
プログラミング・ライブラリー.
低水準の数学ライブラリーは他のプログラミング言語の中で使うために意図された；