Mathematica で楽しむ数理科学 表紙

Mathematica で楽しむ数理科学

     出版 牧野書店   1999年10月


訂正と著者からのコメント



1.ユークリッドの互除法


2.互除法の応用

15ページ 17,18行目

すべての整数解は,....とによって (x0+b'k, y0-a'k) で表される.
は次のようにしたほうが、分かりやすいでしょう。
すべての整数解 (x, y) は,....とによって (x, y) = (x0+b'k, y0-a'k) で表される.

15ページ 下から8,6行目

a x0 +b y0 = c
は次のようにしたほうが、分かりやすいでしょう。
a x0 +b y0 = hd

16ページ 16行目

Map[{-147777, 42222}+{144, -41}#&, Range[1027, 1029}]
は次のようにしたほうが、分かりやすいでしょう。
Table[{-147777 + 144 k, 42222 - 41 k}, {k, 1027, 1029}]

3.合同式

21ページ 16 行目

また、 a と b が互いに素でないときには、 ...
は次のように訂正します
また、 a と n が互いに素でないときには、 ...

21ページ 18, 19 行目

... の整数解 (x, y) と最大公約数 GCD(x, y) とを ... この関数は {GCD(x,y), x, y} のように
は次のように訂正します
... の整数解 (x, y) と最大公約数 GCD(a, b) とを ... この関数は {GCD(x,y), {x, y}} のように

23ページ 19 行目

... z は 0 から a-1 までの ...
は次のように訂正します
... z は 0 から A-1 までの ...

23ページ 下から10行目

... remainderTheorem[{a, b, c, ..., c}, {r, s, ..., t}] ...
は次のように訂正します
... remainderTheorem[{a1, a2, ...am}, {r1, r2, ..., rm}] ...

23ページ 25 行目

..., {d, x} = gcdSolution[A/a];
は次のように訂正します。
..., {d, x} = gcdSolution@@(A/a);

4.石取りゲーム

31ページ 10, 12, 13, 14 行目

... 1, 3, 4 または 5 から、 ...
Mod[Outer[Subtract, {1, 3, 4, 5}, {1, 3, 4}], 7]
{{0 5, 4}, {2, 0, 6}, {3, 1, 0}, {4, 2, 1}}
4個のリストのすべてが,...

は次のように訂正します
... 1, 3, 4, 5 または 6 から、 ...
Mod[Outer[Subtract, {1, 3, 4, 5, 6}, {1, 3, 4}], 7]
{{0 5, 4}, {2, 0, 6}, {3, 1, 0}, {4, 2, 1}, {5, 3, 2}}
5個のリストのすべてが,...

31ページ 13 行目

{{0, 5, 4}, {2, 0, 6}, {3, 1, 0}, {4, 2, 1}}
は次のように訂正します
{{0, 5, 4}, {2, 0, 6}, {3, 1, 0}, {4, 2, 1}, {5, 3, 2}}

31ページ 14 行目

4 個のリストのすべてが、...
は次のように訂正します
5 個のリストのすべてが、...

5.三つ山崩し

34ページ 下から9行目

winner[{0, 0, 0}] = "Gote";

の1行は不要ですので削除します。理由は4節で winner を定義したときと同様に、nextPhases が返す値が空集合となることにより再帰呼び出しが終了するため、再帰呼び出しの明示的な終了条件は不要となるためです。

38ページ 20行目

plus2[a__Integer] := FromDigits[Map[Mod[#, 2]&,
Plus @@ Map[IntegerDigits[#, 2, 10]&, {a}]], 2]

は次のようにしたほうが、簡単で分かりやすいでしょう。
plus2[a__Integer] := FromDigits[Mod[Plus @@ IntegerDigits[{a}, 2, 10], 2]]

39ページ 演習問題 [5-3]

三つ山崩しで後手必勝の局面…
は次のように訂正します。
三つ山崩しで先手必勝の局面…

6.ゲームを組み合わせる

42ページ 19行目

winner[_, k_List] := "Gote" /; (Plus@@k)==0;
の1行は不要ですので削除します。理由は4節で winner を定義したときと同様に、nextPhases が返す値が空集合となることにより再帰呼び出しが終了するため、再帰呼び出しの明示的な終了条件は不要となるためです。

44ページ 5行目

g(A)=g(B)
は次のように訂正します。
g(G)=g(H)

45ページ下から 5行目

要素の個数より小さい
は次のように訂正します。
要素の個数以下である

46ページ 9行目

(G, S) の局面
は次のように訂正します。
(G, Nim) の局面

7.素数

54ページ 下から10行目

li(n() - π(n)
は次のように訂正します。
li(n) - π(n)

8.フェルマの小定理


9.メルセンヌ素数と完全数

77ページ 脚注

2001年11月14日に Michael Cameron によって 213466917, 2003年11月17日に Michael Shafer によって 220996011, 2004年5月15日に Josh Findley によって 224036583, 2005年2月18日に Dr. Martin Nowak によって 225964951, 2005年12月15日に Curtis Cooper と Steven Boone によって 230402457 が発見された.


10.巨大な素数を作る

92ページ 16行め

check12[43889, 43888, 2]
次のように,1行を追加
check12[p_, k_, a_] := {Mod[a^(p k), p k + 1], GCD[a^(k -1), p k +1]} check12[43889, 43888, 2]

11.暗号

101ページ 下から 4行目

答はで出ないでしょう
は次のように訂正します。
答は出ないでしょう

12.LightsOutパズル


13.切手の使い方


14.音階


15.阿弥陀くじ

147ページ 8, 12行め

MakeBar[result[...
は次のように訂正
makeBar[result[...

16.長方形の詰め込み


17.ほどけない結び目

173ページ 下から3行目

a_ij = ...
の場合分けに次を追加します
a_ij = 0  (上記以外)

178ページ 9行め

... 任意の素数に対して 1 です....
は次のように訂正
... 任意の素数に対して 0 です....