数学に関するpropellaのブックマーク (38)

  • 誰得 - Yet Another Ranha

    ですが、発表に使った資料をあげておきます。 なぜなに依存型View more documents from ranha.

    誰得 - Yet Another Ranha
    propella
    propella 2009/12/26
    これはよい
  • 数学好きが位相幾何学を応用してベーグルをカットするとこうなる

    もっちりと詰まった感が特徴のベーグル。欧米では単に焼いてべたり、サンドイッチにしたりとメジャーなパンですが、数学好きが位相幾何学を利用してベーグルをカットするとこのようになる、という見です。 詳細は以下。 Mathematically Correct Breakfast -- Mobius Sliced Linked Bagel これはニューヨーク州立大学のコンピューターサイエンス学科の教授、ジョージ・ハート氏が公開しているもの。授業の一環として学生にやらせてみたところ、大変好評だったとのことです。 X軸上で最もZ座標が大きくなる点をA、小さくなる点をC。Y軸上かつベーグル上でY座標がもっとも原点と近くなる点をB、Bの反対側かつ遠くなる点をDとします。 それぞれの点を用いて補助線を引きましょう。 ABCDの各点を通ってぐるっと一周する線を描きます。 赤の線は黒の線をZ軸で180度回転

    数学好きが位相幾何学を応用してベーグルをカットするとこうなる
  • 不思議不思議、なんて面白い - 檜山正幸のキマイラ飼育記 (はてなBlog)

    [追記]勢いよく書いたら、疵<きず>だらけでした。修正の取消線があっちこっち。コード断片に取消線は付いてません(追加なので)が、shiroさんのご指摘で直しました。[/追記] 次のような入れ子になった例外処理を考えます。 try { try { コード(1) } catch(例外種別(1)) { 例外ハンドル(1) } 引き続くコード(2) } catch(例外種別(2)) { 例外ハンドル(2) } さらに引き続くコード(3) これを、次のように書き換えても振る舞いは変わらないですよね。不格好なフラグがあったり、例外ハンドル(2) がコピー&ペーストになりますが、それは別にいいとします。 boolean handled = false; // 例外ハンドル(2) 以外では触らない try { コード(1) } catch(例外種別(1)) { try { 例外ハンドル(1) } catc

    不思議不思議、なんて面白い - 檜山正幸のキマイラ飼育記 (はてなBlog)
    propella
    propella 2009/11/18
    なんで面白いのか知りたい
  • Excelの高階関数とVisual FP - スティルハウスの書庫の書庫

    Excelに高階関数が備わっているのはご存じですか? 多くの人がよく使っている、式の一括コピーのことです。例えば数値が並んでいる列があるとき、その頭のセルの右となりに式を設定して、なにがしかの式を定義をします(例えば「=A1+1」など)。そしてCtrlを押しながらその式のセルをクリックして下方向にドラッグしていくと、同じ式を複数の数値に一括して適用できます。これをRubyで書くと、 [1, 2, 3].collect { | i | i + 1 }みたいな感じです。つまり、「セルの一括コピー」という「操作」が、関数を複数のデータに一括して適用する高階関数になっているわけです。 大学時代、卒論のテーマにしたかった(が時間が間に合わずできなかった)のが、このコンセプトを拡張した「Visual FP(Functional Programming)」です。当時、Haskellはまだありませんでした

    Excelの高階関数とVisual FP - スティルハウスの書庫の書庫
    propella
    propella 2009/10/18
    GUI と関数型言語を結びつけるナイスなアイデア
  • Yコンビネータとゲーデルの不完全性定理 - (iwi)の日記

    大学 | 00:36大学で論理学のテストがありました。そこで、ゲーデルの不完全性定理を勉強したのですが、ゲーデル文 A[y] = ∃w (Substx[y, y, w] ∧ (∃ p. Proof[w, p, 0]))として、A[x] の符号を z として G = A[num(z)]とYコンビネータ Y = λf·(λx·f (x x)) (λx·f (x x))って似てるなーって思いました。どこが似てるかっていうと、「そいつに自身を適用」みたいなことがどっちも2回出てくるところ。ゲーデル文は外側で「A[num(z)]」ってやって1回目で、その中でさらに 「Substx[y, y, w]」 ってやって2回目。Yコンビネータは外側で 「(λx·f (x x)) (λx·f (x x))」 ってやって1回目で、内側で「x x」ってやって2回目。自分の名前を使わずに自分を得たいという目的からして

  • 再帰のパターン - maoeのブログ

    Fun of Programming (Cornerstones of Computing)の3章「Origami programming」の冒頭にはこんな事が書かれている。 One style of functional programming is based purely on recursive equations. Such equations are easy to explain, and adequate for any computational purpose, but hard tu use well as programs get bigger and more complicated. In a sense, recursive equations are the 'assembly language' of functional programming, and

    再帰のパターン - maoeのブログ
    propella
    propella 2009/08/27
    数学と haskell 両方で再帰パターンの解説する話。
  • http://home.gna.org/geoproof/

  • ATS-PL-SYS

    What is ATS? ATS is a statically typed programming language that unifies implementation with formal specification. It is equipped with a highly expressive type system rooted in the framework Applied Type System, which gives the language its name. In particular, both dependent types and linear types are available in ATS. The current implementation of ATS2 (ATS/Postiats) is written in ATS1 (ATS/Anai

  • Home - The Geometer's Sketchpad Resource Center

    Read about Activity Books, which have been recently revised for Sketchpad Version 5.

  • 米田のレンマのイメージ図 - Pixel Pedals of Tomakomai

    米田のレンマ(層・圏・トポス―現代的集合像を求めてのP.71)がどうも不思議な定理に感じたので、イメージ図を書いてみました。 元の圏ではなく、Setsの圏内の図として書いてます。真ん中のC(を関手Fで移した集合)がhom関手をとる時に起点となる対象です。hom関手によって各対象は、射を束ねた集合に移ります。hom(C,A)等がそれです。 hom(C, -)とFの間の自然変換は、緑の矢印と青の矢印です。もちろん表記は省略してますが、二つだけじゃなくたくさんあります。 例えば、緑の自然変換の対象Aのコンポーネント(hom(C,A)からFAへの矢印)を考えると、これはC→Aなる射に対してFA上の値を与える関数となります。そのためには、射の出元であるFC*1の元を固定するとよさげです。図では緑のXとして書きました。この、緑のXと緑の矢印が対応すると言うのが、米田のレンマの主張となります。 レンマを

    米田のレンマのイメージ図 - Pixel Pedals of Tomakomai
  • 0.999・・・は1と等しいか - hiroyukikojima’s blog

    刊行からだいぶたってしまったが、吉永良正さんの『アキレスとカメ』講談社というたいへん楽しいを紹介しよう。 吉永さんは、ぼくが東京出版の受験雑誌『大学への数学』や『高校への数学』に連載し出した頃、同じように連載を持った人だが、サイエンスライターとしては大先輩であり、すばらしいをたくさん書き、また翻訳もしている。現在は、大東文化大学の先生をされているので、ライターから大学教員になった、という経歴も似ており、勝手に親近感を抱いている。何度か対談をさせていただき、いっしょにお酒を飲んだこともあるので、知人と言ってもいいと思う。ライターとして気骨を持ったかたで、物書きとして生きていく上での心構えなどを教えていただいた。 アキレスとカメ 作者: 吉永良正,大高郁子出版社/メーカー: 講談社発売日: 2008/07/02メディア: 単行購入: 19人 クリック: 395回この商品を含むブログ (1

    0.999・・・は1と等しいか - hiroyukikojima’s blog
  • GeoGebra - Dynamic Mathematics

    GeoGebra Math Apps for 2D and 3D Graphing, Geometry, Algebra, Calculus, and Statistics! Dynamic mathematics for learning and teaching GeoGebra About Team Blog Help Tutorials Forum Manual Partners Partners Institutes Get Involved Contact us Feedback & Questions This email address is being protected from spambots. You need JavaScript enabled to view it. +43 677 6137 2693

  • 紙芝居:ラムダ抽象 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    石井君*1が、2月19日セミナーのツイン・ホワイトボードを撮影してくれていたので、ハイライト(?)部分を紙芝居にしました。 紙と鉛筆の準備はいいかな -- では、はじまりはじまり。 g = <a, b, x| a*x + b> という関数があるとき、これを2回“ラムダ抽象”してみます。ラムダ抽象とは、右肩ハット(^)または大文字ラムダ(Λ)で表されるオペレータです。ラムダ抽象とカリー化は同義語です*2。ラムダ抽象すると、n引数関数は(n-1)引数関数に変化し、その代わり戻り値が関数型になります。ただし、ここで言う「関数型」は数学的な関数の型ではなくて、とある実行エンジンEで実行する関数コードのデータ型のことです。 gの2回ラムダ抽象g^^を絵に描くとこうです。 gの1回ラムダ抽象 g^ = Λg と、gの2回ラムダ抽象 g^^ = Λ(Λg) を計算してみます。Λの計算規則*3を使えば、こ

    紙芝居:ラムダ抽象 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 研究の紹介

    はじめに 項書き換えシステムの例 項書き換えシステムの完備性 グラス置き換えパズル グラス置き換えパズルの完備化 完備化手続き 群の完備化 両方向ペトリネットの完備化 組みひも問題の完備化 失敗無し完備化 おわりに はじめに 項書き換えシステム(term rewriting system)は等式にもとづく柔軟な計算法 と効率的な証明法を提供できるため,定理自動証明,関数型あるいは論理型言 語,代数的仕様記述,記号処理など,計算機科学のさまざまな分野で広くもち いられています. 項書き換えシステムは方向付けられた等式(書き換え規則)の集合として 定義されます.ところで,等式そのものにはもともと計算という意味はありま せん.たとえば,等式 1+2 = 3 は右辺と左辺が等価であるという論理的な意 味をもつだけです.したがって,論理の世界では,1+2 から 3 を得るだけ ではなく,逆に

    propella
    propella 2009/02/19
    大変分かりやすい図
  • どこが面白いの?可逆計算 -- コンピューティングと北極グマ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「可逆計算が面白いから、JavaScriptで書いてみた」とか言ってみたわけですが、どこが面白いのでしょう。まー、面白いってのは個人的な感覚だから説明しにくいのですが、オシャベリとしてなにやら書いてみます。 僕は、環境問題やエネルギー問題の知識はろくにないし、「熱心なエコロジスト」なんてことはまったくありません。が、やっぱりリソース(資源)とかエネルギーは気になる、なんとなく。 僕がよく使う機械といえばコンピュータ。クーラーや冷蔵庫だけじゃなくて、コンピュータだって電気使って熱を吐き出します。なんか後ろめたい。現実のこの機械のことじゃなくて原理的なハナシでも、計算するとリソースとエネルギーを使うらしいです。計算つっても、結局は物理過程だから外部環境を汚してしまうんですよね。 ランダウアー(Landauer)の原理によると、情報を消去すると必然的に外部環境のエントロピーを上げてしまうそうです

    どこが面白いの?可逆計算 -- コンピューティングと北極グマ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    propella
    propella 2008/07/04
    すべてを憶えておくためにリソースやエネルギーが必要なのではなくて、不要なことを忘れるためにリソースやエネルギーが使われるようです。
  • 超準解析1

    〜ダーツを一点に当てる確率〜  さて、ここに昔からありがちな問題がある。君がダーツを投げるとき、ある一点に厳密に当たる確率は一体どれくらいか?そして、この種の問題には、非常にありがちな一つの答えがいつも与えられる。その確率は、ゼロであると。なぜならば、各点における確率がもし有限の値なら、ダーツ板の全体における積分が発散してしまうから だ。これ(確率がゼロであること)は、いわゆる必要条件だというわけである。 高校のころからこうした答えは、常に私を悩ませてきた。その確率は、aとdxdyをかけたものではなぜいけないのだろうか? 人は言う。そうした無限小の取り扱い方は、厳密ではないと。なぜなら、実数体はアルキメデス的だからだ、と。そう、われわれはアルキメデスと戦わなければならない。 いきなり妙な言葉が出てきたので読者を困惑させてしまったかもしれないが、これはすなわち、 〜2つの数a<bを任意の実数

  • 自動微分モジュールで遊ぶ - 2007-12-03 - mad日記

    HackageDBでnumbersというパッケージを見つけました。この中にData.Number.Difという自動微分のモジュールが含まれていたのですが、これがなかなか面白いです。 サンプルコードを全然見かけないので、いろいろと書いてみます。 自動微分とは 自動微分というのは関数の導関数の値を自動的に求めるということですが、これには「数値的」にやる方法と「記号的」にやる方法があります。数値的にというのは という式のhに適当な微小量を与えて、近似的に導関数の値を求める方法を言います。 一方記号的にというのは の様に、微分公式を使用して具体的に関数を求める方法を言います。 Difモジュールが行うのは後者ですが、Haskellの遅延評価と多相型を生かして非常に使い勝手の良いものになっています。プリプロセッサを通すとかいった手間もありません。 自動微分のアルゴリズムについてはAutomatic d

    自動微分モジュールで遊ぶ - 2007-12-03 - mad日記
  • ちょっと草植えときますね型言語 Grass

    _, ._ ( ・ω・) んも〜 ○={=}〇, |:::::::::\, ', ´ 、、、、し 、、、(((.@)wvwwWWwvwwWwwvwwwwWWWwwWw wWWWWWWwwwwWwwvwWWwWwwvwWWW 作ってみたwwwww とりあえず公開wwwwwwwっうぇ 日語版はてきとーです.きっと英語版のほうが詳しいです. 実装 インタプリタ Interpreter written in Standard ML (accept US-ASCII only) by UENO Katsuhiro Interpreter written in Ruby by UENO Katsuhiro Interpreter written in ニコスクリプト Interpreter written in Prolog by zick Interpreter written in Java b

  • The Prize Is Won; The Simplest Universal Turing Machine Is Proved—Wolfram Blog

    All Technologies » Solutions Engineering, R&D Aerospace & Defense Chemical Engineering Control Systems Electrical Engineering Image Processing Industrial Engineering Mechanical Engineering Operations Research More... Finance, Statistics & Business Analysis Actuarial Sciences Bioinformatics Data Science Econometrics Financial Risk Management Statistics More... Education All Solutions for Education

  • スライド「再帰プログラムの幾何」

    Geometry of Recursive Programs 2006 9 15 I. 2 • • • • • 3 — • • • 4 5 6 recursion I II III IV 7 II. 8 fact(x) ≡ if x = 0 then 1 else x × fact(x−1) F F(f)(x) ≡ if x = 0 then 1 else x × f(x−1) fact = F(fact) 9 fact(4) (fact = F(fact)) = F(fact)(4) (F ) = if 4 = 0 then 1 else 4 × fact(4−1) (4 �= 0) = 4 × fact(3) (fact = F(fact)) = 4 × F(fact)(3) (F ) = 4 × (if 3 = 0 then 1 else 3 × fact(3−1)) (3 �= 0