algebra 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +53 -0
  3. data/.travis.yml +7 -0
  4. data/CODE_OF_CONDUCT.md +49 -0
  5. data/Gemfile +7 -0
  6. data/Gemfile.lock +28 -0
  7. data/LICENSE.txt +21 -0
  8. data/README-ja.txt +60 -0
  9. data/README.md +61 -0
  10. data/Rakefile +43 -0
  11. data/algebra.gemspec +33 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/doc-ja/README-ja.html +69 -0
  15. data/doc-ja/README-ja.rd +60 -0
  16. data/doc-ja/README.html +0 -0
  17. data/doc-ja/README.rd +0 -0
  18. data/doc-ja/algebra-ja.html +66 -0
  19. data/doc-ja/algebra-ja.rd +60 -0
  20. data/doc-ja/algebraic-equation-ja.html +36 -0
  21. data/doc-ja/algebraic-equation-ja.rd +26 -0
  22. data/doc-ja/algebraic-extension-field-ja.html +122 -0
  23. data/doc-ja/algebraic-extension-field-ja.rd +118 -0
  24. data/doc-ja/algebraic-parser-ja.html +87 -0
  25. data/doc-ja/algebraic-parser-ja.rd +95 -0
  26. data/doc-ja/changes.html +161 -0
  27. data/doc-ja/changes.rd +119 -0
  28. data/doc-ja/elementary-divisor-ja.html +56 -0
  29. data/doc-ja/elementary-divisor-ja.rd +45 -0
  30. data/doc-ja/euclidian-ring-ja.html +78 -0
  31. data/doc-ja/euclidian-ring-ja.rd +69 -0
  32. data/doc-ja/finite-group-ja.html +285 -0
  33. data/doc-ja/finite-group-ja.rd +276 -0
  34. data/doc-ja/finite-map-ja.html +224 -0
  35. data/doc-ja/finite-map-ja.rd +227 -0
  36. data/doc-ja/finite-set-ja.html +393 -0
  37. data/doc-ja/finite-set-ja.rd +408 -0
  38. data/doc-ja/index-ja.html +113 -0
  39. data/doc-ja/index-ja.rd +112 -0
  40. data/doc-ja/jordan-form-ja.html +106 -0
  41. data/doc-ja/jordan-form-ja.rd +99 -0
  42. data/doc-ja/localized-ring-ja.html +121 -0
  43. data/doc-ja/localized-ring-ja.rd +131 -0
  44. data/doc-ja/m-polynomial-ja.html +542 -0
  45. data/doc-ja/m-polynomial-ja.rd +596 -0
  46. data/doc-ja/matrix-algebra-ja.html +686 -0
  47. data/doc-ja/matrix-algebra-ja.rd +727 -0
  48. data/doc-ja/matrix-algebra-triplet-ja.html +124 -0
  49. data/doc-ja/matrix-algebra-triplet-ja.rd +129 -0
  50. data/doc-ja/permutation-group-ja.html +159 -0
  51. data/doc-ja/permutation-group-ja.rd +151 -0
  52. data/doc-ja/polynomial-converter-ja.html +64 -0
  53. data/doc-ja/polynomial-converter-ja.rd +54 -0
  54. data/doc-ja/polynomial-ja.html +446 -0
  55. data/doc-ja/polynomial-ja.rd +473 -0
  56. data/doc-ja/residue-class-ring-ja.html +112 -0
  57. data/doc-ja/residue-class-ring-ja.rd +113 -0
  58. data/doc-ja/sample-algebraic-equation01.rb.v.rd +11 -0
  59. data/doc-ja/sample-algebraic-equation02.rb.v.rd +11 -0
  60. data/doc-ja/sample-algebraic-root01.rb.v.rd +20 -0
  61. data/doc-ja/sample-algebraicfield01.rb.v.rd +26 -0
  62. data/doc-ja/sample-algebraicfield02.rb.v.rd +15 -0
  63. data/doc-ja/sample-cayleyhamilton01.rb.v.rd +14 -0
  64. data/doc-ja/sample-diagonalization01.rb.v.rd +48 -0
  65. data/doc-ja/sample-divmod01.rb.v.rd +17 -0
  66. data/doc-ja/sample-elementary-divisor01.rb.v.rd +48 -0
  67. data/doc-ja/sample-factorize01.rb.v.rd +11 -0
  68. data/doc-ja/sample-factorize02.rb.v.rd +13 -0
  69. data/doc-ja/sample-factorize03.rb.v.rd +14 -0
  70. data/doc-ja/sample-factorize04.rb.v.rd +14 -0
  71. data/doc-ja/sample-factorize05.rb.v.rd +53 -0
  72. data/doc-ja/sample-galois-group01.rb.v.rd +27 -0
  73. data/doc-ja/sample-gaussian-elimination01.rb.v.rd +19 -0
  74. data/doc-ja/sample-geometry01.rb.v.rd +33 -0
  75. data/doc-ja/sample-geometry02.rb.v.rd +34 -0
  76. data/doc-ja/sample-geometry03.rb.v.rd +45 -0
  77. data/doc-ja/sample-geometry04.rb.v.rd +33 -0
  78. data/doc-ja/sample-geometry07.rb.v.rd +62 -0
  79. data/doc-ja/sample-groebner01.rb.v.rd +13 -0
  80. data/doc-ja/sample-groebner02.rb.v.rd +18 -0
  81. data/doc-ja/sample-groebner03.rb.v.rd +19 -0
  82. data/doc-ja/sample-group01.rb.v.rd +21 -0
  83. data/doc-ja/sample-jordan-form01.rb.v.rd +56 -0
  84. data/doc-ja/sample-jordanform01.rb.v.rd +55 -0
  85. data/doc-ja/sample-lagrange-multiplier01.rb.v.rd +35 -0
  86. data/doc-ja/sample-m-factorize01.rb.v.rd +15 -0
  87. data/doc-ja/sample-m-factorize02.rb.v.rd +12 -0
  88. data/doc-ja/sample-m-polynomial01.rb.v.rd +10 -0
  89. data/doc-ja/sample-map01.rb.v.rd +9 -0
  90. data/doc-ja/sample-polynomial01.rb.v.rd +9 -0
  91. data/doc-ja/sample-polynomial02.rb.v.rd +11 -0
  92. data/doc-ja/sample-primefield01.rb.v.rd +13 -0
  93. data/doc-ja/sample-quotientfield01.rb.v.rd +11 -0
  94. data/doc-ja/sample-quotientfield02.rb.v.rd +18 -0
  95. data/doc-ja/sample-quotientfield03.rb.v.rd +16 -0
  96. data/doc-ja/sample-quotientfield04.rb.v.rd +16 -0
  97. data/doc-ja/sample-set01.rb.v.rd +18 -0
  98. data/doc-ja/sample-splitting-field01.rb.v.rd +19 -0
  99. data/doc-ja/samples-ja.html +885 -0
  100. data/doc-ja/samples-ja.rd +221 -0
  101. data/doc-ja/style.css +85 -0
  102. data/doc-ja/todo.html +20 -0
  103. data/doc-ja/todo.rd +9 -0
  104. data/lib/algebra.rb +36 -0
  105. data/lib/algebra/algebraic-equation.rb +56 -0
  106. data/lib/algebra/algebraic-extension-field.rb +135 -0
  107. data/lib/algebra/algebraic-parser.rb +160 -0
  108. data/lib/algebra/algebraic-system.rb +224 -0
  109. data/lib/algebra/annihilate.rb +52 -0
  110. data/lib/algebra/array-supplement.rb +53 -0
  111. data/lib/algebra/auto-require.rb +84 -0
  112. data/lib/algebra/chinese-rem-th.rb +135 -0
  113. data/lib/algebra/combinatorial.rb +145 -0
  114. data/lib/algebra/elementary-divisor.rb +193 -0
  115. data/lib/algebra/euclidian-ring.rb +161 -0
  116. data/lib/algebra/factors.rb +305 -0
  117. data/lib/algebra/finite-group.rb +374 -0
  118. data/lib/algebra/finite-map.rb +201 -0
  119. data/lib/algebra/finite-set.rb +456 -0
  120. data/lib/algebra/galois-group.rb +129 -0
  121. data/lib/algebra/gaussian-elimination.rb +385 -0
  122. data/lib/algebra/groebner-basis-coeff.rb +228 -0
  123. data/lib/algebra/groebner-basis.rb +197 -0
  124. data/lib/algebra/import-module-single-thread.rb +86 -0
  125. data/lib/algebra/import-module.rb +491 -0
  126. data/lib/algebra/jordan-form.rb +114 -0
  127. data/lib/algebra/linear-algebra.rb +143 -0
  128. data/lib/algebra/localized-ring.rb +294 -0
  129. data/lib/algebra/m-index.rb +282 -0
  130. data/lib/algebra/m-polynomial-factor-int.rb +186 -0
  131. data/lib/algebra/m-polynomial-factor-zp.rb +114 -0
  132. data/lib/algebra/m-polynomial-factor.rb +315 -0
  133. data/lib/algebra/m-polynomial-gcd.rb +40 -0
  134. data/lib/algebra/m-polynomial.rb +875 -0
  135. data/lib/algebra/matrix-algebra-triplet.rb +292 -0
  136. data/lib/algebra/matrix-algebra.rb +929 -0
  137. data/lib/algebra/numeric-supplement.rb +123 -0
  138. data/lib/algebra/permutation-group.rb +257 -0
  139. data/lib/algebra/polynomial-converter.rb +193 -0
  140. data/lib/algebra/polynomial-factor-alg.rb +148 -0
  141. data/lib/algebra/polynomial-factor-int.rb +252 -0
  142. data/lib/algebra/polynomial-factor-zp.rb +165 -0
  143. data/lib/algebra/polynomial-factor.rb +140 -0
  144. data/lib/algebra/polynomial.rb +592 -0
  145. data/lib/algebra/powers.rb +31 -0
  146. data/lib/algebra/prime-gen.rb +32 -0
  147. data/lib/algebra/rational.rb +81 -0
  148. data/lib/algebra/residue-class-ring.rb +219 -0
  149. data/lib/algebra/sets-system.rb +43 -0
  150. data/lib/algebra/splitting-field.rb +103 -0
  151. data/lib/algebra/version.rb +3 -0
  152. data/sample/Makefile +10 -0
  153. data/sample/do-testscripts.rb +100 -0
  154. data/sample/sample-algebraic-equation01.rb +6 -0
  155. data/sample/sample-algebraic-equation02.rb +6 -0
  156. data/sample/sample-algebraic-root01.rb +15 -0
  157. data/sample/sample-algebraicfield01.rb +21 -0
  158. data/sample/sample-algebraicfield02.rb +10 -0
  159. data/sample/sample-cayleyhamilton01.rb +9 -0
  160. data/sample/sample-diagonalization01.rb +43 -0
  161. data/sample/sample-divmod01.rb +12 -0
  162. data/sample/sample-elementary-divisor01.rb +43 -0
  163. data/sample/sample-factorize01.rb +6 -0
  164. data/sample/sample-factorize02.rb +8 -0
  165. data/sample/sample-factorize03.rb +9 -0
  166. data/sample/sample-factorize04.rb +9 -0
  167. data/sample/sample-factorize05.rb +48 -0
  168. data/sample/sample-galois-group01.rb +22 -0
  169. data/sample/sample-gaussian-elimination01.rb +14 -0
  170. data/sample/sample-geometry01.rb +28 -0
  171. data/sample/sample-geometry02.rb +29 -0
  172. data/sample/sample-geometry03.rb +40 -0
  173. data/sample/sample-geometry04.rb +28 -0
  174. data/sample/sample-geometry07.rb +58 -0
  175. data/sample/sample-groebner01.rb +8 -0
  176. data/sample/sample-groebner02.rb +13 -0
  177. data/sample/sample-groebner03.rb +14 -0
  178. data/sample/sample-group01.rb +16 -0
  179. data/sample/sample-jordan-form01.rb +51 -0
  180. data/sample/sample-lagrange-multiplier01.rb +30 -0
  181. data/sample/sample-m-factorize01.rb +10 -0
  182. data/sample/sample-m-factorize02.rb +7 -0
  183. data/sample/sample-m-polynomial01.rb +5 -0
  184. data/sample/sample-map01.rb +4 -0
  185. data/sample/sample-polynomial01.rb +4 -0
  186. data/sample/sample-polynomial02.rb +6 -0
  187. data/sample/sample-primefield01.rb +8 -0
  188. data/sample/sample-quotientfield01.rb +6 -0
  189. data/sample/sample-quotientfield02.rb +13 -0
  190. data/sample/sample-quotientfield03.rb +11 -0
  191. data/sample/sample-quotientfield04.rb +11 -0
  192. data/sample/sample-set01.rb +13 -0
  193. data/sample/sample-splitting-field01.rb +14 -0
  194. data/sample/test-00-cayley-hamilton.rb +76 -0
  195. data/sample/test-00-groebner-basis.rb +274 -0
  196. data/sample/test-00-polynomial-factor-alg.rb +89 -0
  197. data/sample/test-00.list +4 -0
  198. data/sample/time-trial.rb +65 -0
  199. metadata +373 -0
@@ -0,0 +1,87 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
8
+ <title>doc-ja/algebraic-parser-ja.rd</title>
9
+ <link href="style.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Algebra::AlgebraicParser</a></h1><!-- RDLabel: "Algebra::AlgebraicParser" -->
13
+ <p><em>(文字列の代数的評価クラス)</em></p>
14
+ <h2><a name="label-1" id="label-1">ファイル名:</a></h2><!-- RDLabel: "ファイル名:" -->
15
+ <ul>
16
+ <li><var>algebraic-parser.rb</var></li>
17
+ </ul>
18
+ <h2><a name="label-2" id="label-2">スーパークラス:</a></h2><!-- RDLabel: "スーパークラス:" -->
19
+ <ul>
20
+ <li><var>Object</var></li>
21
+ </ul>
22
+ <h2><a name="label-3" id="label-3">インクルードしているモジュール:</a></h2><!-- RDLabel: "インクルードしているモジュール:" -->
23
+ <p>なし</p>
24
+ <h2><a name="label-4" id="label-4">クラスメソッド:</a></h2><!-- RDLabel: "クラスメソッド:" -->
25
+ <dl>
26
+ <dt><a name="label-5" id="label-5"><code>Algebra::AlgebraicParser.eval(<var>string</var>, <var>ring</var>)</code></a></dt><!-- RDLabel: "Algebra::AlgebraicParser.eval" -->
27
+ <dd>
28
+ <var>string</var> の四則演算式を <var>ring</var> 上で計算します。</dd>
29
+ </dl>
30
+ <h2><a name="label-6" id="label-6">メソッド:</a></h2><!-- RDLabel: "メソッド:" -->
31
+ <p>なし</p>
32
+ <h2><a name="label-7" id="label-7">仕様</a></h2><!-- RDLabel: "仕様" -->
33
+ <h3><a name="label-8" id="label-8">評価の手順</a></h3><!-- RDLabel: "評価の手順" -->
34
+ <p>変数の値は、その変数名を引数として <var>ring</var> のクラスメソ
35
+ ッド <var>indeterminate</var> の引数として渡され、その戻り値
36
+ として評価されます。また数値は <var>ring.ground</var> のクラス
37
+ メソッド <var>indterminate</var> で評価されます。</p>
38
+ <pre>require "algebraic-parser"
39
+ class A
40
+ def self.indeterminate(str)
41
+ case str
42
+ when "x"; 7
43
+ when "y"; 11
44
+ end
45
+ end
46
+ def A.ground
47
+ Integer
48
+ end
49
+ end
50
+ p Algebraic::AlgebraicParser.eval("x * y - x^2 + x/8", A)
51
+ #=&gt; 7*11 - 7**2 + 7/8 = 28</pre>
52
+ <p>ここで、Integer の indeterminate は algebraic-parser.rb が require
53
+ している algebra-supplement.rb で次のように定義されています。</p>
54
+ <pre>def Integer.indeterminate(x)
55
+ eval(x)
56
+ end</pre>
57
+ <h3><a name="label-9" id="label-9">識別子</a></h3><!-- RDLabel: "識別子" -->
58
+ <p>識別子は、「英字1文字+数字0文字以上」で定義されます。したがって</p>
59
+ <pre>"a13bc04def0"</pre>
60
+ <p>は、</p>
61
+ <pre>"a13 * b * c04 * d * e * f0"</pre>
62
+ <p>と解釈されます。</p>
63
+ <h3><a name="label-10" id="label-10">演算子</a></h3><!-- RDLabel: "演算子" -->
64
+ <p>演算子を結合の弱い順に並べます。</p>
65
+ <pre>; 中間評価
66
+ +, - 和, 差
67
+ +, - 単項 +, 単項 -
68
+ *, / 積, 商
69
+ 並置 積
70
+ **, ^ 冪</pre>
71
+ <h3><a name="label-11" id="label-11">用例</a></h3><!-- RDLabel: "用例" -->
72
+ <p>クラス <var>Algebra::Polynomial</var>、クラス <var>Algebra::MPolynomial</var> には適
73
+ 切に <var>indeterminate</var>, <var>ground</var>
74
+ が定義されています。したがって次のように文字列評価ができます。</p>
75
+ <pre>require "algebraic-parser"
76
+ require "rational"
77
+ require "m-polynomial"
78
+ F = Algebra::MPolynomial(Rational)
79
+ p Algebra::AlgebraicParser.eval("- (2*y)**3 + x", F) #=&gt; -8y^3 + x</pre>
80
+ <p><var>Algebra::MPolynomial</var> では、<var>indeterminate</var> は変数を表現するオブジェ
81
+ クトの登録も行うので、登録順が変数間の順序になります。したがって ; を
82
+ 使って先に変数を評価させる事によって、順序の変更をする事ができます。</p>
83
+ <pre>F.variables.clear
84
+ p Algebra::AlgebraicParser.eval("x; y; - (2*y)**3 + x", F) #=&gt; x - 8y^3</pre>
85
+
86
+ </body>
87
+ </html>
@@ -0,0 +1,95 @@
1
+ =begin
2
+ = Algebra::AlgebraicParser
3
+ ((*(文字列の代数的評価クラス)*))
4
+
5
+ == ファイル名:
6
+ * ((|algebraic-parser.rb|))
7
+
8
+ == スーパークラス:
9
+
10
+ * ((|Object|))
11
+
12
+ == インクルードしているモジュール:
13
+
14
+ なし
15
+
16
+ == クラスメソッド:
17
+ --- Algebra::AlgebraicParser.eval(string, ring)
18
+ ((|string|)) の四則演算式を ((|ring|)) 上で計算します。
19
+
20
+ == メソッド:
21
+
22
+ なし
23
+
24
+ == 仕様
25
+
26
+ === 評価の手順
27
+
28
+ 変数の値は、その変数名を引数として ((|ring|)) のクラスメソ
29
+ ッド ((|indeterminate|)) の引数として渡され、その戻り値
30
+ として評価されます。また数値は ((|ring.ground|)) のクラス
31
+ メソッド ((|indterminate|)) で評価されます。
32
+
33
+ require "algebraic-parser"
34
+ class A
35
+ def self.indeterminate(str)
36
+ case str
37
+ when "x"; 7
38
+ when "y"; 11
39
+ end
40
+ end
41
+ def A.ground
42
+ Integer
43
+ end
44
+ end
45
+ p Algebraic::AlgebraicParser.eval("x * y - x^2 + x/8", A)
46
+ #=> 7*11 - 7**2 + 7/8 = 28
47
+
48
+ ここで、Integer の indeterminate は algebraic-parser.rb が require
49
+ している algebra-supplement.rb で次のように定義されています。
50
+
51
+ def Integer.indeterminate(x)
52
+ eval(x)
53
+ end
54
+
55
+ === 識別子
56
+ 識別子は、「英字1文字+数字0文字以上」で定義されます。したがって
57
+
58
+ "a13bc04def0"
59
+
60
+ は、
61
+
62
+ "a13 * b * c04 * d * e * f0"
63
+
64
+ と解釈されます。
65
+
66
+ === 演算子
67
+ 演算子を結合の弱い順に並べます。
68
+
69
+ ; 中間評価
70
+ +, - 和, 差
71
+ +, - 単項 +, 単項 -
72
+ *, / 積, 商
73
+ 並置 積
74
+ **, ^ 冪
75
+
76
+ === 用例
77
+ クラス ((|Algebra::Polynomial|))、クラス ((|Algebra::MPolynomial|)) には適
78
+ 切に ((|indeterminate|)), ((|ground|))
79
+ が定義されています。したがって次のように文字列評価ができます。
80
+
81
+ require "algebraic-parser"
82
+ require "rational"
83
+ require "m-polynomial"
84
+ F = Algebra::MPolynomial(Rational)
85
+ p Algebra::AlgebraicParser.eval("- (2*y)**3 + x", F) #=> -8y^3 + x
86
+
87
+ ((|Algebra::MPolynomial|)) では、((|indeterminate|)) は変数を表現するオブジェ
88
+ クトの登録も行うので、登録順が変数間の順序になります。したがって ; を
89
+ 使って先に変数を評価させる事によって、順序の変更をする事ができます。
90
+
91
+ F.variables.clear
92
+ p Algebra::AlgebraicParser.eval("x; y; - (2*y)**3 + x", F) #=> x - 8y^3
93
+
94
+ =end
95
+
@@ -0,0 +1,161 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
8
+ <title>doc-ja/changes.rd</title>
9
+ <link href="style.css" type="text/css" rel="stylesheet" />
10
+ </head>
11
+ <body>
12
+ <h1><a name="label-0" id="label-0">Changes</a></h1><!-- RDLabel: "Changes" -->
13
+ <h2><a name="label-1" id="label-1">0.71(2005.07.26)</a></h2><!-- RDLabel: "0.71(2005.07.26)" -->
14
+ <ul>
15
+ <li>MPolynomial#derivate</li>
16
+ <li>MPolynomial#map_to</li>
17
+ </ul>
18
+ <h2><a name="label-2" id="label-2">0.70(2005.02.02)</a></h2><!-- RDLabel: "0.70(2005.02.02)" -->
19
+ <ul>
20
+ <li>id =&gt; object_id</li>
21
+ </ul>
22
+ <h2><a name="label-3" id="label-3">0.69(2004.10.15)</a></h2><!-- RDLabel: "0.69(2004.10.15)" -->
23
+ <ul>
24
+ <li>MRationalFunctionField</li>
25
+ <li>MPolynomial#gcd</li>
26
+ <li>SquareMatrix#inverse depends on ufd?</li>
27
+ </ul>
28
+ <h2><a name="label-4" id="label-4">0.68(2004.07.28)</a></h2><!-- RDLabel: "0.68(2004.07.28)" -->
29
+ <ul>
30
+ <li>fix Mpolynomial#to_s (for tex)</li>
31
+ </ul>
32
+ <h2><a name="label-5" id="label-5">0.67(2004.06.10)</a></h2><!-- RDLabel: "0.67(2004.06.10)" -->
33
+ <ul>
34
+ <li>need_paren_in_coeff?</li>
35
+ <li>Matrix: entries are regulated.</li>
36
+ <li>Matrix: type*type is due to wedge.</li>
37
+ <li>AlgebraicSystem: wedge, superior?</li>
38
+ <li>Polynomial#sub, MPolynomial#sub</li>
39
+ <li>SquareMatrix.determinant</li>
40
+ <li>fix MPolynomial#to_s</li>
41
+ <li>fix Factors#normalize!</li>
42
+ <li>(Co)Vector#norm2, inner_product</li>
43
+ </ul>
44
+ <h2><a name="label-6" id="label-6">0.66(2004.06.05)</a></h2><!-- RDLabel: "0.66(2004.06.05)" -->
45
+ <ul>
46
+ <li>fix _hensel_lift (add param 'where')</li>
47
+ <li>sample-geometry01.rb</li>
48
+ <li>title of docs</li>
49
+ </ul>
50
+ <h2><a name="label-7" id="label-7">0.65(2004.06.04)</a></h2><!-- RDLabel: "0.65(2004.06.04)" -->
51
+ <ul>
52
+ <li>Polynomial#factor over Polynomial</li>
53
+ <li>reverse var's order in value_on &amp; convert_to in polynomial-convert.rb</li>
54
+ </ul>
55
+ <h2><a name="label-8" id="label-8">0.64(2004.03.01)</a></h2><!-- RDLabel: "0.64(2004.03.01)" -->
56
+ <ul>
57
+ <li>return value of SquareMatrix#diagonalize is Strut</li>
58
+ </ul>
59
+ <h2><a name="label-9" id="label-9">0.63(2004.01.08)</a></h2><!-- RDLabel: "0.63(2004.01.08)" -->
60
+ <ul>
61
+ <li>fix matrix[i, j] = x</li>
62
+ </ul>
63
+ <h2><a name="label-10" id="label-10">0.62(2003.11.13)</a></h2><!-- RDLabel: "0.62(2003.11.13)" -->
64
+ <ul>
65
+ <li>allow f.gcd_coeff_all()</li>
66
+ </ul>
67
+ <h2><a name="label-11" id="label-11">0.61(2003.11.06)</a></h2><!-- RDLabel: "0.61(2003.11.06)" -->
68
+ <ul>
69
+ <li>corrected Enumerable#any? in finite-set.rb</li>
70
+ </ul>
71
+ <h2><a name="label-12" id="label-12">0.60(2003.07.28)</a></h2><!-- RDLabel: "0.60(2003.07.28)" -->
72
+ <ul>
73
+ <li>AlgebraMatrix(cofactor, cofactor_matrix, adjoint)</li>
74
+ </ul>
75
+ <h2><a name="label-13" id="label-13">0.59(2003.07.28)</a></h2><!-- RDLabel: "0.59(2003.07.28)" -->
76
+ <ul>
77
+ <li>adapted to the version 1.8.0(preview 4)</li>
78
+ <li>include installer</li>
79
+ </ul>
80
+ <h2><a name="label-14" id="label-14">0.58(2002.04.00)</a></h2><!-- RDLabel: "0.58(2002.04.00)" -->
81
+ <ul>
82
+ <li>AlgebraicExtensionField#[n] is lift[n]</li>
83
+ <li>abolish the field of 'poly_exps' of the splitting field' and add 'proots'</li>
84
+ <li>MatrixAlgebra#rank</li>
85
+ <li>Raise Exception for the inverse of the non invertible square matrix</li>
86
+ <li>Use "import-module" for monomial order (0.57.18.01)</li>
87
+ </ul>
88
+ <h2><a name="label-15" id="label-15">0.57 (2002.03.16)</a></h2><!-- RDLabel: "0.57 (2002.03.16)" -->
89
+ <ul>
90
+ <li>New class
91
+ <ul>
92
+ <li>Set</li>
93
+ <li>Map</li>
94
+ <li>Group</li>
95
+ <li>PermuationGroup</li>
96
+ <li>AlgebraicExtensionField</li>
97
+ </ul></li>
98
+ <li>New methods
99
+ <ul>
100
+ <li>Galois#group</li>
101
+ <li>Polynomial#splitting_field</li>
102
+ </ul></li>
103
+ <li>Rename MinimalDecompositionField to decompose</li>
104
+ <li>Move *.rb to lib/</li>
105
+ <li>Define Polynomial.to_ary and MPolynomial.to_ary</li>
106
+ </ul>
107
+ <h2><a name="label-16" id="label-16">0.56 (2002.02.06)</a></h2><!-- RDLabel: "0.56 (2002.02.06)" -->
108
+ <ul>
109
+ <li>MPolynomial#with_ord</li>
110
+ <li>Orderings belong to MPolynomial.</li>
111
+ <li>MIndex is not a subclass of Array, now.</li>
112
+ <li>"Integer &lt; Numeric" ==&gt; "Integer"</li>
113
+ </ul>
114
+ <h2><a name="label-17" id="label-17">0.55 (2001.11.15)</a></h2><!-- RDLabel: "0.55 (2001.11.15)" -->
115
+ <ul>
116
+ <li>Improve Algorithm of Factorization over algebraic fields</li>
117
+ </ul>
118
+ <h2><a name="label-18" id="label-18">0.54 (2001.11.05)</a></h2><!-- RDLabel: "0.54 (2001.11.05)" -->
119
+ <ul>
120
+ <li>Elementary Divisor</li>
121
+ <li>Jordan Form</li>
122
+ <li>Minimal Decomposition Field</li>
123
+ </ul>
124
+ <h2><a name="label-19" id="label-19">0.53 (2001.10.03)</a></h2><!-- RDLabel: "0.53 (2001.10.03)" -->
125
+ <ul>
126
+ <li>move "MatrixAlgebra" to "Algebra::MatrixAlgebra"</li>
127
+ <li>move "MatrixAlgebra::Vector" to "Algebra::Vector"</li>
128
+ <li>move "MatrixAlgebra::Covector" to "Algebra::Covector",</li>
129
+ <li>move "MatrixAlgebra::SquareMatrix" to "Algebra::SquareMatrix"</li>
130
+ </ul>
131
+ <h2><a name="label-20" id="label-20">0.52 (2001.09.22)</a></h2><!-- RDLabel: "0.52 (2001.09.22)" -->
132
+ <ul>
133
+ <li>One-variate polynomial
134
+ <ul>
135
+ <li>Fundamental operations (addition, multiplication, quotient/remainder, ...)</li>
136
+ <li>factorization</li>
137
+ </ul></li>
138
+ <li>Multi-variate polynomial
139
+ <ul>
140
+ <li>Fundamental operations (addition, multiplication, ...)</li>
141
+ <li>factorization</li>
142
+ <li>Creating Groebner-basis, quotient/remainder by Groebner-basis.</li>
143
+ </ul></li>
144
+ <li>Algebraic systems
145
+ <ul>
146
+ <li>Creating quotient fields</li>
147
+ <li>Creating residue class fields</li>
148
+ <li>Operating matrices.</li>
149
+ </ul></li>
150
+ <li>Linear Algebra
151
+ <ul>
152
+ <li>Diagonalization of Symmetrix Matrix</li>
153
+ </ul></li>
154
+ </ul>
155
+ <h2><a name="label-21" id="label-21">0.40 (2001.03.03)</a></h2><!-- RDLabel: "0.40 (2001.03.03)" -->
156
+ <ul>
157
+ <li>Initial Version</li>
158
+ </ul>
159
+
160
+ </body>
161
+ </html>
@@ -0,0 +1,119 @@
1
+ =begin
2
+ = Changes
3
+ == 0.71(2005.07.26)
4
+ * MPolynomial#derivate
5
+ * MPolynomial#map_to
6
+
7
+ == 0.70(2005.02.02)
8
+ * id => object_id
9
+
10
+ == 0.69(2004.10.15)
11
+ * MRationalFunctionField
12
+ * MPolynomial#gcd
13
+ * SquareMatrix#inverse depends on ufd?
14
+
15
+ == 0.68(2004.07.28)
16
+ * fix Mpolynomial#to_s (for tex)
17
+
18
+ == 0.67(2004.06.10)
19
+ * need_paren_in_coeff?
20
+ * Matrix: entries are regulated.
21
+ * Matrix: type*type is due to wedge.
22
+ * AlgebraicSystem: wedge, superior?
23
+ * Polynomial#sub, MPolynomial#sub
24
+ * SquareMatrix.determinant
25
+ * fix MPolynomial#to_s
26
+ * fix Factors#normalize!
27
+ * (Co)Vector#norm2, inner_product
28
+
29
+ == 0.66(2004.06.05)
30
+ * fix _hensel_lift (add param 'where')
31
+ * sample-geometry01.rb
32
+ * title of docs
33
+
34
+ == 0.65(2004.06.04)
35
+ * Polynomial#factor over Polynomial
36
+ * reverse var's order in value_on & convert_to in polynomial-convert.rb
37
+
38
+ == 0.64(2004.03.01)
39
+ * return value of SquareMatrix#diagonalize is Strut
40
+
41
+ == 0.63(2004.01.08)
42
+ * fix matrix[i, j] = x
43
+
44
+ == 0.62(2003.11.13)
45
+ * allow f.gcd_coeff_all()
46
+
47
+ == 0.61(2003.11.06)
48
+ * corrected Enumerable#any? in finite-set.rb
49
+
50
+ == 0.60(2003.07.28)
51
+ * AlgebraMatrix(cofactor, cofactor_matrix, adjoint)
52
+
53
+ == 0.59(2003.07.28)
54
+ * adapted to the version 1.8.0(preview 4)
55
+ * include installer
56
+
57
+ == 0.58(2002.04.00)
58
+ * AlgebraicExtensionField#[n] is lift[n]
59
+ * abolish the field of 'poly_exps' of the splitting field' and add 'proots'
60
+ * MatrixAlgebra#rank
61
+ * Raise Exception for the inverse of the non invertible square matrix
62
+ * Use "import-module" for monomial order (0.57.18.01)
63
+
64
+ == 0.57 (2002.03.16)
65
+ * New class
66
+ * Set
67
+ * Map
68
+ * Group
69
+ * PermuationGroup
70
+ * AlgebraicExtensionField
71
+ * New methods
72
+ * Galois#group
73
+ * Polynomial#splitting_field
74
+ * Rename MinimalDecompositionField to decompose
75
+ * Move *.rb to lib/
76
+ * Define Polynomial.to_ary and MPolynomial.to_ary
77
+
78
+ == 0.56 (2002.02.06)
79
+ * MPolynomial#with_ord
80
+ * Orderings belong to MPolynomial.
81
+ * MIndex is not a subclass of Array, now.
82
+ * "Integer < Numeric" ==> "Integer"
83
+
84
+ == 0.55 (2001.11.15)
85
+ * Improve Algorithm of Factorization over algebraic fields
86
+
87
+ == 0.54 (2001.11.05)
88
+ * Elementary Divisor
89
+ * Jordan Form
90
+ * Minimal Decomposition Field
91
+
92
+ == 0.53 (2001.10.03)
93
+
94
+ * move "MatrixAlgebra" to "Algebra::MatrixAlgebra"
95
+ * move "MatrixAlgebra::Vector" to "Algebra::Vector"
96
+ * move "MatrixAlgebra::Covector" to "Algebra::Covector",
97
+ * move "MatrixAlgebra::SquareMatrix" to "Algebra::SquareMatrix"
98
+
99
+ == 0.52 (2001.09.22)
100
+
101
+ * One-variate polynomial
102
+ * Fundamental operations (addition, multiplication, quotient/remainder, ...)
103
+ * factorization
104
+ * Multi-variate polynomial
105
+ * Fundamental operations (addition, multiplication, ...)
106
+ * factorization
107
+ * Creating Groebner-basis, quotient/remainder by Groebner-basis.
108
+ * Algebraic systems
109
+ * Creating quotient fields
110
+ * Creating residue class fields
111
+ * Operating matrices.
112
+ * Linear Algebra
113
+ * Diagonalization of Symmetrix Matrix
114
+
115
+ == 0.40 (2001.03.03)
116
+
117
+ * Initial Version
118
+
119
+ =end