2012-02-01から1ヶ月間の記事一覧

cons (:)関数

クイックソートの関数は有名らしい quicksort [] = [] quicksort (x:xs) = quicksort [y | y <- xs, y<x] ++ [x] ++ quicksort [y | y <- xs, y>=x] 見慣れないシンボルが多いので備忘録 "x:xs" これは、x1という要素と、[x2,x3,...,xn]というリストからできた[x1,x2,x3,...,xn]という意味 どうしてそ</x]>…

Haskellの作り

資料はHaskell 2010 Language Report(こちら) I Haskell 2010 Language 構成要素 Identifier(識別名)を付けて扱うもの(Namespaceに関すること) 6種類の名前をつけて扱うもの Values(値) (1) Variables(変数) (2) Constructors(構成子・コンストラクタ) Type…

対話式で変数を作る

Haskellで「値代入したい!」(代入はできなくて、値束縛はできる) こちら let v = [[3,2,1],[0,4,5]] 非対話式なら(この資料(こちら)に出ている列車の問題を解くための助走)以下のようなものをhoge.hsに書いてloadすればよい initTrain :: [[Int]] -- テスト…

あみだくじを分解する

Haskellの手習いをしている 圏をわかるために、数学っぽくない例を挙げているサイトを参考にしている その中の、行列の圏とあみだくじの圏とを併せてみよう あみだくじの圏で「結合」というのは、本数が等しいあみだくじを連結すること 連結がうまくいくって…

Haskell第3回 mapからモナドを理解する

mapという関数がある Hoogleで調べると map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn] map f [x1, x2, ...] == [f x1, f x2, ...] とある リスト[]のすべての要素にfを働かせますよ、という関数である "mapは便利なので,リスト以外の自分の使ったデ…

Haskellの調べものをする

GCHiコマンド(:type (略して:t), :info (略して:i)とか) Hoogle, Hayoo (Haskellのコード探し) Haskell98の中身の確認 パスのこと、後付けパッケージ・モジュールとか

Haskell第2回 多相性(ポリモーフィズム)への理解を深める

型 Haskellは型付きλ計算(Wiki)に基づく関数型プログラミング言語 関数の入出力の型をかっちり決めている、と言う意味 前の記事で作成した、"repeated"関数にも型がついている それを表示させるためのコマンドが":type" Prelude> let repeated f n = \x -> (…

Haskellの特徴

関数型プログラミング言語 「そもそも関数型プログラミングって」(古典的説明がこちら) そこで挙げられている「仕事を抽象化しておくことについて」の例として出てくる、「再帰関数」をパターン化すること 初期値と2項演算による再帰関数は"reduce"と呼んで…

Haskellの構成要素

値 演算子 関数 関数の定義 環境 環境のスコープ 型 構成子 クラス 型クラス 型構成子クラス モジュール

パス、モジュールを取ってきて使う

「GHCはインストールされたパッケージだけを認識します」(こちら) インストールされてGHCに認識されるパッケージの一覧は、次のようにして、確認できます コマンドプロンプトで ghc-pkg list と打つ 後からパッケージを取り込みたいときは、「取ってきて、イ…

Haskell第1回 関数型プログラミングの世界へようこそ

処理の繰り返しのHaskell的表記とその使用 let repeated f n = \x -> (iterate f x)!!n repeated (+2) 3 5 repeated (+3) 3 5 3+2+2+2+2+2 5+2+2+2 5+3+3+3 let repeated f n = \x -> (iterate f x)!!n let repeated : "repeated"という名前の関数を作る f,n…

Haskell練習帳

目次 インストール・起動・使い始め Haskellを学ぶときの調べもの Haskellを学ぶときに使うコマンドとか ペースメーカーは『本物のプログラマはHaskellを使う』(そんなに気張らなくてもよいと思うけれど…)こちら 0. そもそもこのシリーズ記事を読むための基…

Haskell 98

Haskell 98で提供しているものを眺める こちら

Haskellのコード探し

Haskellの「すでに入っている」関数のコードを見る Hoogle(こちら)や Hayoo!(こちら)

GCHiコマンド

GCHiコマンド 2. 型とその多相性で、作った関数の型をみたり、型の情報を覗いたりしている 使っているのは":"で始まるコマンド それらはGCHiコマンドと言うものらしく、こちらを参照 :type \f n -> repeated f n 12 :info Num *Main> :type \f n -> repeated…

コンパイル

誰かがコピーできるように置いてくれているソース群があったとする それを手元にとってきてどうするか こちらを使うことを例にとる このページではlfit2.lzhなるHaskellソースファイルを固めたものを紹介されている 手元にダウンロードして解凍するとMain.hs…

クラス・インスタンス

型クラスは"型クラス(type class)は相異なるデータ型に共通したインターフェイスを持つ関数を定義する。"(Wiki) クラスは、「こういうことをやりたい」という「抽象的な仕事」に対して定義する 「抽象的な仕事」は型に依存しないので(しないこともあるので…

第0回 用語に慣れる

目次 Haskellの構成要素 Haskellの特徴 クラス・インスタンス コンパイル

自分なりのHaskellと圏論

以下の2つを書き直しているだけ Haskellと圏論(Wikibooks) これの噛み砕き版(こちら) Haskellと圏論 Haskellが圏である Haskellを成り立たせているものを圏論の言葉で語ることができる Haskellは圏を作ったり、扱ったりすることができる Haskellが新たなデ…

Haskellの導入

インストール(こちらから)(Windows版) WinGHCiというのを立ち上げると、以下のような画面が出る "Prelude"というのは、こちらにあるように、対話式インタープリタ GHCiという方を立ち上げると、コマンドプロンプトのようなものが出るが、これも"Prelude"とな…

Haskell再び

Haskellというものが少し気になっていた(こちら) 圏論も気になっていた(こちら) Haskellと圏論(Wikibooks) これの噛み砕き版(こちら) 自分なりのHaskellと圏論 実は、数学セミナーで2011年7月号より『圏論の歩き方』という連載が続いていた 2012年3号にて、…

関数とその一次微分

こちらの拡張話題 が最小になるような周期関数は? 周期関数なので、となるようなを取ることができる なので となる ここで、での平均とすれば が連続ならば、はとなるようにとれて、この方がわかりやすいかもしれない じゃあ、を考えると・・・ さらに、で…

2011年度の数理生物学概論は、「『読み書きそろばん』のそろばんとしての数学@医学」という感じ(こちら) 2012年度は、数理生物学っぽさを上げよう スライド(preziドラフト)(こちら)

DVDからブート、そして電源オプション

こちらでKNOPPIX/Mathのことを書いた ブートDVDを入手した ノートPCのBiosの設定をいじって、DVDドライブの起動参照順をハードディスクのそれよりも上にした これでも、まだハードディスク起動から脱却しない… "Let's note DVD boot"で検索すると、ちょうど…

刺激があっても反応しない・刺激がないのに反応する

こちらで刺激とその反応の関係についてやっている 「(有意な)刺激があっても感覚が起きない(反応が無い)とはどういうことか」 「(有意な)刺激がないのに脳の活動が起きて有意となる(幻覚)というのは、どういうことか」 こんなことが話題になった 「減衰(して…

計算する

こちらでMATLABを使っている フリーで何かあるかと調べるとScilabと言うのがあるらしい Scilabのダウンロードとか解説については Scilab入門 scilab つかいませんか Wiki 手順 Scilabから、適したOSのそれをダウンロードしてクリックオンリーでインストー…

MATLAB Scilab

補遺4

感覚が刺激の強さに対して対数的に反応すること、その分子レベル・細胞レベル・細胞のネットワークレベルでのメカニズムは?

補遺3

相変化 ではで相変化する(?) 相変化は、何かしら、基となる原理に大した違いがなくても、結果として起きることはとんでもなく違くなることに相当する 指数を変えるだけで相変化が起きる、さて、それはどういうこと t<-seq(from=-2,to=2,length=1000) t<-c(…

補遺2

円軌道 が円なのは、位置ベクトルにおける運動ベクトルがとなっていて、「位置ベクトル」と「運動ベクトルの内積が0(直交)しているから