後で追加修正するかも。
指標の一覧:
名前 | 提供記号 | ひとこと |
---|---|---|
Magma | * | 乗法記号使ったマグマ |
UnitalMagma | *, 1 | 単位的マグマ |
MonoidAste | *, 1 | モノイド |
MonoidPlus | +, 0 | モノイド |
Group | *, 1, ~ | 群 |
AbGroupPlus | +, 0, - | アーベル群 |
Ring | +, 0, -, *, 1 | 可換とは限らない環 |
SemiRing | +, 0, *, 1 | 可換とは限らない半環 |
CommRing | +, 0, -, *, 1 | 可換環 |
指標の忘却関係
- UnitalMagma →Magma
- MonoidAste → UnitalMagma
- Group → MonoidAste
- AbGroupPlus → MonoidPlus
- SemiRing → Ring
- CommRing → Ring
集合の一覧:
名前 | ひとこと |
---|---|
Real | 実数 |
String | 文字列 |
Vect3 | 3次元数ベクトル |
SqMat[n] | n次元数正方行列 |
※ SqMat = square matrix
+ | * | |
---|---|---|
Real | CommRing | CommRing |
String | MonoidPlus | UnitalMagma |
Vect3 | AbGroupPlus | Magma |
SqMat[n] | Ring | Ring |
※選択テーブル=ルックアップ・テーブル
~ | - | |
---|---|---|
Real | なし | CommRing |
String | なし | なし |
Vect3 | なし | AbGroup |
SqMat[n] | なし | Ring |
定数のアドホック選択テーブル、指標を選ぶ:
0 | 1 | |
---|---|---|
Real | CommRing | CommRing |
String | MonoidPlus | UnitalMagma |
Vect3 | AbGroupPlus | なし |
SqMat[n] | Ring | Ring |
実装の選択テーブル、指標の実装を選ぶ:
Real | String | Vect3 | SqMat[n] | |
---|---|---|---|---|
Magma | なし | 継承 | Vect3Cross | なし |
UnitalMagma | なし | StringMult | なし | なし |
MonoidAste | なし | なし | なし | なし |
MonoidPlus | なし | StringAdd | なし | なし |
Group | なし | なし | なし | なし |
AbGroupPlus | なし | なし | Vect3Add | なし |
Ring | 継承 | なし | なし | AqMatRing[n] |
SemiRing | 継承 | なし | なし | 継承 |
CommRing | RealRing | なし | なし | なし |