Haskellで凸包を求めるGraham Scanアルゴリズムを実装する

夏休みなので、Haskellのリハビリのために、「Real World Haskell」を読んでいます。 3章の練習問題に、平面上の点の集合の凸包を求めるGraham scanアルゴリズムを求めよ、という問題があります。 Graham scan - Wikipedia 以下のように書きました。まだ、あ…

Markdownによるプレゼンテーション用スライド作成

0. 環境 ArchLinux 1. Pandocのインストール sudo pacman -S pandoc 2. reveal.jsのインストール git clone https://github.com/hakimel/reveal.js.git 3. スライドのMarkdownファイル作成 vim slide.md 4. Pandocによる変換 pandoc -t revealjs -s slide.md…

ArchLinuxのインストール方法

この記事は主に自分用のメモであるため、誤りやわかりにくい点があるかもしれません。インストールガイド - ArchWikiや他サイトと比較しながら、参照することをオススメします。 0. 環境 ASUS X553M (CPU: Intel BYT-M 2Core 2840, up to 2.58GHz) 1. LiveCD…

Pythonで数学の勉強

SymPy SymPy pythonの数式処理ライブラリ。 CAS(Computer Algebra System)といい、式変形をすることで方程式などを解いてくれるようだ。 数式処理システム - Wikipedia CASには以前から興味があった。これぞ人工知能という感じだ。 Jupyter Project Jupyter …

やりたいこと

Lispの勉強は続けている。この前、ハノイの塔のコードを読んで感動した。 (defun hanoi (n &optional (from 'from) (to 'to) (other 'other)) (cond ((= n 1) (list (cons from to))) (t (append (hanoi (1- n) from other to) (hanoi 1 from to other) (han…

振り子の同期

勉強しなくちゃ。他の人に遅れをとらないように情報収集しなくちゃ。 そんなことばかり考えていた。 勉強しているときや情報収集しているときは安心するし、いいことしてる気がしてた。 でも、最近、このようなことをしていると頭が痛くなってくることに気づ…

「わからない」という方法

わからないって大切だよね。だって、わからないって続けるっていうことだもんね。人と話してて、「わかりました。」って言うのは、「コミュニケーションを終了します。」っていうことだもんね。わからないは、もっと知りたいってことだもんね。「幸せになる…