とちぎRuby会議01(原)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    とちぎRuby会議01(原) - Presentation Transcript

    1. 裏表紙
    2. 自己紹介 『Ruby プログラミング入門』オーム社 (1999)
    3. 自己紹介
    4. 自己紹介
    5. 自己紹介
    6. 自己紹介
    7. 自己紹介
    8. 自己紹介
    9. 自己紹介
    10. 自己紹介
    11. 自己紹介
    12. 自己紹介
    13. 自己紹介
    14. 自己紹介
    15. 自己紹介
    16. 自己紹介
    17. 自己紹介 http://blade.nagaokaut.ac.jp/
    18. ソフトウェア • blade
    19. ソフトウェア • blade • shttpsrv
    20. ソフトウェア • blade • shttpsrv • httpsnapshot
    21. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree
    22. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module
    23. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module • 旧 rational
    24. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module • 旧 rational • statistics2
    25. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module • 旧 rational • statistics2 • algebra
    26. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module • 旧 rational • statistics2 • algebra • (cinema)
    27. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module • 旧 rational • statistics2 • algebra • (cinema) • (stardigio)
    28. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module • 旧 rational • statistics2 • algebra • (cinema) • (stardigio) • (album)
    29. ソフトウェア • blade • shttpsrv • httpsnapshot • htmltree • import module • 旧 rational • statistics2 • algebra • (cinema) • (stardigio) • (album) • そのほか
    30. 再び自己紹介
    31. 再び自己紹介 計算が不自由
    32. ある事例 42 ÷ 7 =?
    33. 42 ÷ 7 =? 筆算でやってみる
    34. 42 ÷ 7 =? 筆算でやってみる    
    35. 42 ÷ 7 =? 筆算でやってみる     事態は好転せず
    36. 42 ÷ 7 =? 筆算でやってみる     事態は好転せず
    37. 42 ÷ 7 =? 筆算でやってみる     事態は好転せず 結局 irb
    38. 42 ÷ 7 =? 筆算でやってみる     事態は好転せず 結局 irb    irb(main):001:0> 42.0 / 7   => 6.0
    39. 42 ÷ 7 =? 筆算でやってみる     事態は好転せず 結局 irb    irb(main):001:0> 42.0 / 7   => 6.0 めでたしめでたし
    40. めでたしめでたし ほんとうに?
    41. めでたしめでたし これでいいのだ
    42. めでたしめでたし ものは考えよう
    43. めでたしめでたし ものは考えよう Ruby はすでに組み込まれている
    44. めでたしめでたし ものは考えよう Ruby はすでに組み込まれている    
    45. めでたしめでたし ものは考えよう Ruby はすでに組み込まれている        =⇒  
    46. 『博士の愛した数式』   [ぼくの記憶は 80 分しかもたない] 博士の背広の袖にはそう書かれた古びたメモが留められていた―記憶力を失った博士 にとって、私は常に ”新しい ”家政婦。博士は ”初対面 ”の私に、靴のサイズや誕生日を尋ねた。数字が博士の言葉だっ た。やがて私の 10 歳の息子が加わり、ぎこちない日々は驚きと歓びに満ちたものに変わった。あまりに悲しく暖かい、 奇跡の愛の物語。
    47. 「博士」と「工夫」 メモ 外部記憶装置にして主記憶 《新しい家政婦さん》
    48. 「博士」と「工夫」 メモ 外部記憶装置にして主記憶 《新しい家政婦さん》 《と、その息子》
    49. 「博士」と「工夫」 メモ 外部記憶装置にして主記憶 《新しい家政婦さん》 《と、その息子》 《 》
    50. 「博士」と「工夫」 義手、義足、人工関節 ペースメーカ 人工肛門 カーナビ コンピュータ 時計 めがね 紙、鉛筆
    51. 「博士」と「工夫」 人はハンディキャップを負っている。
    52. 「博士」と「工夫」 人はハンディキャップを負っている。 本質的に「不自由」である。
    53. しばらくお待ちください。 ここで時計を見る 残り時間早見表 時刻 経過 残り 13:05 0 35 13:10 5 30 13:15 10 25 13:20 15 20 13:25 20 15 13:30 25 10 13:35 30 5 13:40 35 0
    54. algebra algebra
    55. algebra algebra のできること • 体や環を定義できる • 剰余環 • 代数拡大 • 商体 • 多項式環 • 行列環 • 有限群
    56. algebra • 多項式の因数分解 • 整数上 • 有理数上 • 素体上 • 代数体上 (1 変数のみ)
    57. algebra • 線形代数 • 任意の体での連立 1 次方程式の解 • 代数体係数の正方行列の対角化 • 整数や任意の体上の多項式の作る行列の単因子を求める • Jordan 標準形を求める
    58. algebra • 任意の体上の多項式の作るイデアルのグレブナ基底を求める • 任意の体での連立代数方程式の解 • 様々な応用
    59. algebra • 代数方程式 • 代数体上の代数方程式の解 • 有理数係数多項式の最小分解体やガロア群を求める(苦しい)
    60. 因数分解 x5 + 24x4 + 489x3 + 11041x2 + 53618x + 1062347
    61. 因数分解 x5 + 24x4 + 489x3 + 11041x2 + 53618x + 1062347    = (x + 23)(x2 + 323)(x2 + x + 143)
    62. 因数分解 x5 + 24x4 + 489x3 + 11041x2 + 53618x + 1062347    = (x + 23)(x2 + 323)(x2 + x + 143) require \"algebra\" P, x = Polynomial(Rational, \"x\") f = x**5 + 24*x**4 + 489*x**3 + 11041*x**2 + 53618*x + 1062347 p f.factorize
    63. 因数分解 x5 + 24x4 + 489x3 + 11041x2 + 53618x + 1062347    = (x + 23)(x2 + 323)(x2 + x + 143) require \"algebra\" P, x = Polynomial(Rational, \"x\") f = x**5 + 24*x**4 + 489*x**3 + 11041*x**2 + 53618*x + 1062347 p f.factorize  #=>(x + 23)(xˆ2 + 323)(xˆ2 + x + 143)
    64. 因数分解 x3 + y3 + z3 − 3xyz
    65. 因数分解 x3 + y3 + z3 − 3xyz    = (x + y + z)(x2 − xy − xz + y2 − yz + z2 )
    66. 因数分解 x3 + y3 + z3 − 3xyz    = (x + y + z)(x2 − xy − xz + y2 − yz + z2 ) require \"algebra\" P = MPolynomial(Rational) x, y, z = P.vars(\"xyz\") f = x**3 + y**3 + z**3 - 3*x*y*z p f.factorize
    67. 因数分解 x3 + y3 + z3 − 3xyz    = (x + y + z)(x2 − xy − xz + y2 − yz + z2 ) require \"algebra\" P = MPolynomial(Rational) x, y, z = P.vars(\"xyz\") f = x**3 + y**3 + z**3 - 3*x*y*z p f.factorize  #=> (x+y+z)(xˆ2-xy-xz+y2-yz+zˆ2) ˆ
    68. 因数分解 x4 + 1
    69. 因数分解 √ √ x4 + 1    = (x2 + 2x + 1)(x2 − 2x + 1)
    70. 因数分解 √ √ x4 + 1    = (x2 + 2x + 1)(x2 − 2x + 1) require \"algebra\" R2, r2, r2 = Root(Rational, 2) P, x = Polynomial(R2, \"x\") f = x**4 + 1 p f.factorize
    71. 因数分解 √ √ x4 + 1    = (x2 + 2x + 1)(x2 − 2x + 1) require \"algebra\" R2, r2, r2 = Root(Rational, 2) P, x = Polynomial(R2, \"x\") f = x**4 + 1 p f.factorize  #=>(xˆ2 - r2x + 1)(xˆ2 + r2x + 1)
    72. 三角形の重心の存在 (問題) 三角形の三本の中線は一点で交わる?  
    73. 三角形の重心の存在 3 つの点 (x, y), (a1 , a2 ), (b1 , b2 ) が一直線上にある条件は 1x y a2 = 0 1 a1 1 b1 b2
    74. 三角形の重心の存在 require ’algebra’ R = MPolynomial(Rational) x,y,a1,a2,b1,b2,c1,c2 = R.vars(’xya1a2b1b2c1c2’) V = Vector(R, 2) X, A, B, C = V[x,y], V[a1,a2], V[b1,b2], V[c1,c2] D, E, F = (B + C) /2, (C + A) /2, (A + B) /2 def online(p1, p2, p3)   SquareMatrix.det([[1, *p1], [1, *p2], [1, *p3]]) end l1, l2, l3 = online(X, A, D), online(X, B, E), online(X, C, F) s = online(A, B, C) g = Groebner.basis [l1, l2, l3, s-1] g.each with index do |f, i|  pf end
    75. 三角形の重心の存在 #=>   x - 1/3a1 - 1/3b1 - 1/3c1   y - 1/3a2 - 1/3b2 - 1/3c2   a1b2 - a1c2 - a2b1 + a2c1 + b1c2 - b2c1 - 1
    76. 3色彩色問題 (問題) 次のグラフの各点に色を塗る。線分で結ばれた2点は必 ず異なる色で塗るとするとき、3色で塗ることは可能か?  
    77. 3色彩色問題 (解)各点に F3 = Z/3Z の元を割り当てる。x と y の色が異なる ことは、 x= y+1 あるいは、 x= y+2 で表現できるので、両方あわせて、 (x − y − 1)(x − y − 2) = 0 と表現できる。
    78. 3色彩色問題 従って、絵を見ながら隣り合っている領域の添え字は L = {(1, 2), (1, 5), (1, 6), (2, 3), (2, 4), (2, 8), (3, 4), (3, 8), (4, 5), (4, 7), (5, 6), (5, 7), (6, 7), (7, 8)} なので、 (xi − x j − 1)(xi − x j − 2) = 0 が (i, j) ∈ L について成り立てばよい。
    79. 3色彩色問題 従って、絵を見ながら隣り合っている領域の添え字は L = {(1, 2), (1, 5), (1, 6), (2, 3), (2, 4), (2, 8), (3, 4), (3, 8), (4, 5), (4, 7), (5, 6), (5, 7), (6, 7), (7, 8)} なので、 (xi − x j − 1)(xi − x j − 2) = 0 が (i, j) ∈ L について成り立てばよい。 x8 = 0 を加えて、簡約グレブナ基底を求めると G = {x1 − x7 , x2 + x8 , x3 − x7 , x4 , x5 + x7 , x6 , x7 2 + 2, x8 } とな る。G の零点集合が空でないことは容易に確かめることができる。
    80. 3色彩色問題 require \"algebra\" F3 = ResidueClassRing(Integer, 3) vs = (1..8).map{|i| \"x#{i}\"} xs = MPolynomial.create(F3, *vs).vars fs = [[1,2],[1,5],[1,6],[2,3],[2,4],   [2,8],[3,4],[3,8],[4,5],[4,7],   [5,6],[5,7],[6,7],[7,8]].map do |i, j|   i, j = (i-1)%xs.size, (j-1)%xs.size   (xs[i] - xs[j] - 1)*(xs[i] - xs[j] - 2) end fs.push(xs[7]) puts Groebner.basis(fs)
    81. 3色彩色問題 require \"algebra\" F3 = ResidueClassRing(Integer, 3) vs = (1..8).map{|i| \"x#{i}\"} xs = MPolynomial.create(F3, *vs).vars fs = [[1,2],[1,5],[1,6],[2,3],[2,4],   [2,8],[3,4],[3,8],[4,5],[4,7],   [5,6],[5,7],[6,7],[7,8]].map do |i, j|   i, j = (i-1)%xs.size, (j-1)%xs.size   (xs[i] - xs[j] - 1)*(xs[i] - xs[j] - 2) end fs.push(xs[7]) puts Groebner.basis(fs) #=> x1-x7 x2+x7 x3-x7 x4 x5+x7 x6 x7ˆ2+2 x8
    82. algebra
    83. algebra なぜ algebra を書いたのか?
    84. algebra なぜ algebra を書いたのか? 障害を克服したい。 •
    85. algebra なぜ algebra を書いたのか? 障害を克服したい。自分を肯定したい。 •
    86. algebra なぜ algebra を書いたのか? 障害を克服したい。自分を肯定したい。 • あ~、algebra は手に馴染むなあ •
    87. algebra なぜ algebra を書いたのか? 障害を克服したい。自分を肯定したい。 • あ~、algebra は手に馴染むなあ、と言い • たい。
    88. しばらくお待ちください。 ここで再び時計を見る 残り時間早見表 残り時間早見表 時刻 経過 残り 13:05 0 35 13:10 5 30 13:15 10 25 13:30 15 20 13:25 20 15 13:30 25 10 13:35 30 5 13:40 35 0
    89. 22 世紀 Ruby 22 世紀の Ruby とは
    90. 22 世紀 Ruby
    91. 22 世紀 Ruby Lamy2000 (1966)
    92. 22 世紀 Ruby Lamy SWIFT
    93. 22 世紀 Ruby Lamy SCRIBLE
    94. 22 世紀 Ruby CARAN d’ACHE 849 (1969)
    95. 22 世紀 Ruby そろそろおわり
    96. 22 世紀 Ruby そろそろおわり プログラミングはおもしろい
    97. 22 世紀 Ruby そろそろおわり プログラミングはおもしろい ↓ プログラミングはたのしい
    98. 22 世紀 Ruby そろそろおわり プログラミングはおもしろい ↓ プログラミングはたのしい ↓ プログラミングーはキモチイー
    99. メモ
    100. メモ 1. algebra がマニアックなものであるという印象を与えないよ うにする
    101. メモ 1. algebra がマニアックなものであるという印象を与えないよ うにする 2. algebra が 1.9.1 で動かないことちゃんと言う
    102. メモ 1. algebra がマニアックなものであるという印象を与えないよ うにする 2. algebra が 1.9.1 で動かないことちゃんと言う 3. Pen 自慢はほどほどに
    103. おわり
    104. お詫び 時間を超過して申し訳ありません。 残り時間早見表 時刻 残り 13:40 0 13:45 -5 13:50 -10 13:55 -15 14:00 -20 14:05 -25 14:10 -30 14:15 -35 14:20 -40

    + sinara.hsinara.h, 8 months ago

    custom

    1241 views, 2 favs, 1 embeds more stats

    とちぎRuby会議01
    原信一郎
    2009.02.21

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1241
      • 1159 on SlideShare
      • 82 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 8
    Most viewed embeds
    • 82 views on http://d.hatena.ne.jp

    more

    All embeds
    • 82 views on http://d.hatena.ne.jp

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories