数学ソフトウェアの作り方

  • この本の
    内容
  • 目次
  • 関連情報

本書は数学ソフトウェアを開発するために知っておいて欲しい事柄を書籍としてまとめたものである。開発する数学ソフトウェアとしては、独自言語を持ち、またライブラリとしても利用可能で、C言語やその派生言語などを核として開発されているようなものを想定している。
まず、実際のアプリケーションの実装への対応を念頭に、一歩進んだC言語の解説を行う。次に、多項式電卓およびグレブナー基底の計算システムを例題として、数学ソフトウェアの核の部分の作成を解説する。さらに、多くのシステムへの移植性(ポータビリティ)を得るために使われるautomakeなどのツールの使い方や、yacc,GMP,Boehm GCといった多くの数学ソフトウェアで利用されているツールやライブラリについても触れる。最後に、Emscriptenを用いたWebAssemblyへの変換など、C言語で制作したソフトウェアのウェブアプリへの移植を解説する。
著者は皆、計算代数システムRisa/Asirなど数学ソフトウェアの開発に現在まで携わってきている。本書にはその経験が随所にちりばめられており、この上ない解説書となっている。

第1章 C言語再論
1.1 準備
1.2 なぜC言語
1.3 本書のための実習環境
1.4 2進数,16進数,int の正体
1.5 ファイルはbyteの列
1.6 関数,変数,ポインタ
1.7 整数の計算
1.8 グラフを描く
1.9 構造体とその応用
1.10 C言語によるリスト構造の実現
1.11 再帰降下型パーサーを自作して点をプロットするソフトを作成
1.12 Gitの利用
1.13 例題――復習と第2, 3, 4章への準備

第2章 多項式の処理と例題システム
2.1 多項式の計算機上での表現方法
2.2 多項式環
2.3 項順序
2.4 係数環の演算
2.5 多項式の演算
2.6 例題システム1:多項式電卓
2.7 例題システム2:Buchbergerアルゴリズムの実装
2.8 例題システム3:F4風Buchbergerアルゴリズムの実装

第3章 ツール,ビルドシステム,ライブラリ
3.1 シェル
3.2 make
3.3 Autotools
3.4 yacc (bison)
3.5 多倍長整数演算ライブラリGMP
3.6 ガベージコレクタBoehm GC

第4章 Web プラットフォームへの対応
4.1 仮想マシン
4.2 WSL 2環境のインストール
4.3 CLIからWebプラットフォームへの移植
4.4 多項式電卓のWebアプリ化
4.5 GUIフレームワークの紹介(筆者のGUI遍歴)
『数学ソフトウェアの作り方』デモ動画

高山信毅先生による、サンプルプログラムの一部をコンパイルして実行するデモ動画です

Shopping
ご注文

3,850円
(本体3,500円 + 税10%)

ネット書店で購入

  • Amazon
  • 紀伊國屋書店ウェブストア
  • 丸善ジュンク堂書店
  • 楽天ブックス
  • ヨドバシ.com
  • くまざわ書店
  • Honya Club.com
  • セブンネットショッピング
  • TSUTAYA オンラインショッピング
  • e-hon 全国書店ネットワーク
  • HMV&BOOKS online
  • bookfanプレミアム