書影: 関数型言語OCamlで作る代数計算機

関数型言語OCaml
で作る代数計算機

代数構造の構築から、方程式の厳密解法・微分積分まで

著者
icchon
サークル
あるじぇぶら
価格
500円(税込)
言語
日本語
頒布
技術書典21 / こみてっく

本書について

本書は、四則演算と累乗根だけを使って方程式の厳密解を式として求める計算機を、OCamlの型とファンクタで実装する技術書です。応用先は方程式の求解にとどまらず、微分方程式・積分の実装にも取り組みます。

方程式を解く方法には、ニュートン法のような数値計算で近似値を求めるアプローチと、四則演算と累乗根だけを使って厳密な解を式として書き下す代数的なアプローチがあります。本書が扱うのは後者です。たとえば3次方程式の解を、近似値としてではなく、四則演算と累乗根だけを使った厳密な式として求めます。

実装にあたっては、「群」「環」「体」「拡大体」といった代数構造そのものをOCamlの型として構築し、四則演算をその型に対して正しく定義された演算として実装します。引き算を「足し算と逆元から自動的に導出する」ように、群・モノイド・環・体といった代数的な性質を、「ある性質を満たす代数を受け取ると、別の演算を自動生成する」ファンクタとして組み立てていきます。この部品を積み重ねることで、整数・有理数・複素数・ベクトル・多項式・有限体という一見バラバラに見える代数が、同じ部品の組み合わせでできていることを実装を通して確認します。

対象読者・前提知識

  • 高校程度の数学(方程式、複素数、ベクトルの基本)がある方
  • 群・環・体といった抽象代数の知識は前提としません。本書内で必要になった順に定義します
  • OCamlや関数型プログラミングの経験は必須ではありません。typemodulefunctorなどの構文は、専用の章でまとめて説明します

コードの実行結果は、コンパイル・実行の手順とあわせて本文中にそのまま示します。そのため、手元でOCamlを実行しなくても最後まで読み進められます。実際にコードを試したい方向けに、環境構築の章でセットアップ方法も説明していますが、必須の準備ではありません。

目次

本書は大きく2つの章「基礎的な代数をつくる」「代数を応用する」で構成されます。

なぜOCamlで代数計算機をつくるのか

数値的に解くか代数的に解くか/「代数的に解く」プログラムにも深さがある/型が代数になる、ということ/前提知識/本書の構成

環境構築

OCamlコンパイラのセットアップ(本文を読み進めるだけなら必須ではありません)

本書で使うOCamlの構文

値と関数の束縛、モジュールとファンクタなど、以降の章で繰り返し使う構文のまとめ

整数・有理数・複素数・ベクトル・多項式・有限体を、同じファンクタを使い回しながら1つずつ実装します。

  • 整数 — 基本的な機能、最大公約数(ユークリッドの互除法・拡張ユークリッドの互除法)、累乗
  • 有理数 — 基本的な機能、分数体ファンクタ、0で割ってみる(リーマン球面・輪)
  • 複素数 — 基本的な機能、四元数・八元数・十六元数への拡張(ケーリー・ディクソン構成)
  • ベクトル — ベクトル空間ファンクタ、数ベクトル空間、行列・正方行列
  • 多項式 — 多項式環の実装
  • 有限体 — 位数pの有限体、多項式による有限体の構成、K/√2の構成、タワー拡大の限界

ここまでつくった部品を組み合わせて、1次方程式から3次方程式までを解きます。方程式に続けて、微分方程式・積分への応用も予定しています。

  • 多項式方程式 — 数値的に解く・代数的に解くことの違い、「代数的に解く」の3段階、実際のCASの実装方法
  • 有理数解を探す — 有理数根定理による解の絞り込み
  • 拡大体K1の構成 — 複数の平方根を同時に添加する拡大体
  • K1(ω)の構成 — 1の原始三乗根の添加
  • 三次方程式を解く — チルンハウス変換、カルダノの公式、還元不能な場合(Casus Irreducibilis)
  • なぜ三次方程式までなのか — アーベル・ルフィニの定理と、静的な型でどこまで代数を表現できるかという実装上の限界
  • 微分方程式・積分(予定) — 方程式に続く応用範囲として執筆予定

本文を読む

方程式の求解までの内容を、PDFでそのまま無料公開しています。会場やオンラインでの頒布を待たずに読めます(微分方程式・積分の章は執筆中のため未収録です)。

PDFを別タブで開く

頒布情報

サークル名
あるじぇぶら
著者
icchon
価格
500円(税込)
形式
紙の本 / PDF
ページ数
140ページ(仮)
言語
日本語

技術書典21

開催
日程未定(後日発表)
オンライン公開
2026年10月中旬ごろ予定(URLは後日公開)

こみてっく

概要
東京工業大学の学園祭で開催される同人誌即売会
開催
日程未定(後日発表)

両イベントとも、詳細な日程・購入ページは決まり次第このページで更新します。