> ~/.bash_profile $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile $ exec $SHELL -l $ pyenv install -l | grep anaconda # Check the" /> > ~/.bash_profile $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile $ exec $SHELL -l $ pyenv install -l | grep anaconda # Check the" />

Jupyter のインストール–Python で数学を

この記事は6分で読めます

このサイトは学部では早稲田で物理を, 修士では東大で数学を専攻し, 今も非アカデミックの立場で数学や物理と向き合っている一市民の奮闘の記録です. 運営者情報および運営理念についてはこちらをご覧ください.

中高の数学の復習から専門的な数学・物理までいろいろな情報を発信しています.
中高数学に関しては中高数学駆け込み寺,
大学数学に関しては現代数学観光ツアーという無料の通信講座があります.
ご興味のある方はぜひお気軽にご登録ください!


これは Python, 特に numpy, scipy, matplotlib を使った,
数学や物理ネタと Python プログラミングに関する記事だ.
これから勉強の記録をつけること,
それを共有することに目的に記事を書いていく.
GitHub にも関係するコードを置いていくし,
このサイトでもタグで記事を一覧できるようにしていく.

ご興味ある方はぜひ継続的にチェックしてほしい.

まずはインストールから説明したい.
この記事は 2016-08 時点でのインストール法を紹介している.
情報が古くなっていたら適宜調べ直してほしい.

Jupyter インストール

2016-08 時点ではQiita のこの記事が参考になる.

詳しくはそちらを見てもらうことにして,
ここでは簡単にまとめておく.

readme を書いた時点では次のバージョンで動かしている.

  • Python 3.5.1 :: Anaconda 4.1.0 (x86_64)

ライブラリのバージョンも書いた方がいいのかもしれないが,
それはサボる.

Anaconda でのインストール

Anaconda でのインストールがいいらしい.
私もそれで自機の Mac にインストールしている.

Windows (未検証)

公式サイトからダウンロード, インストール.

Mac (検証済み)

Homebrew で次のコマンド実行でインストールした.
brew upgrade でかなり時間がかかった.
注意してほしい.

また次のコマンドリストの # が入っている箇所で # 以下は入力しないようにすること.
コメントのつもりで書いている.

$ brew update && brew upgrade
$ brew install pyenv
$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ pyenv install -l | grep anaconda # Check the newest version
$ pyenv install anaconda3-4.1.0    # Input the newest
$ pyenv global anaconda3-4.1.0     # Input the newest
$ python --version

Linux (未検証)

Qiita のこの記事を参考にしてほしい.
わざわざ Linux を使っている人ならむしろ私よりも詳しいだろうし,
簡単に調べられるだろう.

TODO VPython インストール

2016-08 時点で Python3 対応ができていないようだ.
計算物理の文献で VPython を使っているケースを見かけるので,
Python3 に対応次第, こちらも追記したい.

Jupyter 起動

シンプルに

本来はコマンドプロンプトやターミナル (いわゆる「黒いやつ」) で起動しないといけない.
しかしこのハードルは高いだろうという気もする.
そこでダブルクリックすれば自動で起動できるファイルを作った.
次の URL (GitHub) からファイルをダウンロードしてほしい.
Windows の方は bat ファイルを,
Mac の方は command ファイルを使うこと.

これを適当なフォルダに置いてダブルクリックで実行すれば,
そのフォルダで Jupyter が起動する.

少し詳しく

jupyter/fundamental.ipynb にも書いてある.
GitHub 上で確認できる.
ただあなたはローカルで確認してみたいと思っているかもしれない.
そんなときそもそも起動できなければ確認しようもない.

コマンドを簡単に書いておく.

$ cd some_directory # 適当なディレクトリに移動
$ jupyter notebook

これでそのディレクトリ上で Jupyter が起動する.
ファイルを作ったりすると some_directory にファイルが作られる.

Jupyter Notebook については jupyter/fundamental.ipynb にまとめてあるのでとりあえずはそちら参照.
次回以降で詳しく記事を書いていく.
おおよそ次のようなことがまとめてある.

  • Markdown 記法が使えること
  • mathjax が使えるので TeX が使えること.
  • 簡単なキーバインドまとめ.
  • Python の基礎の基礎.
  • IPython の基礎の基礎.

簡単なものでもアニメーションやグラフを描けるのが楽しい.
jupyter/fundamental.ipynb を軽く眺めたら,
次に jupyter/math_simple_graph.ipynb を見てほしい.
あとは適宜書き進めていく.

あなたにも楽しみにしていてほしいし,
何よりも私が今後を楽しみにしている.
一緒に楽しく勉強していこう.

2016 年現在の数学・物理プログラミング状況

ここからはこの記事シリーズを書き始めた経緯について説明する.
読まなくてもこれから先の記事は読んでいける.
しかし Python による数学・物理に興味があるあなたにはぜひ読んでほしい内容をまとめている.
最後, 無料の数学の通信講座の案内もしているから,
あなたが大学の数学科の数学にご興味があるならぜひ登録してほしい.
登録ページだけは優先して紹介しておく.

最近 Python が科学技術計算でよく使われているようだ.
少なくとも英語の文献では『Python による計算物理』をテーマにした本もいくつか出ている.
さらに Python は統計処理や自然言語処理といった分野でも活躍している.
Python での自然言語処理では nltk という定評のあるライブラリがあり,
それに関する本も出ている.

私が興味があるのはもちろん数学・物理との関係だ.
特に中高生向けのコンテンツとして,
数学や物理と絡めて遊べる方法をずっと模索していた.
昔から SICP や SICM,
さらには Functional Diffential Geometry のように,
Scheme を使ったプログラミングと数学・物理というネタはある.
最近そこにさらに Haskell と絡めて物理を勉強しようという意欲的なスタイルが出てきていて,
Walck によるプレプリントもある1.

Haskell に興味があるのでそれはそれでやりたいとは思う.
しかし資料の豊富さ, ユーザの多さ,
グラフなどの視覚化まで絡めたコーディングの簡単さからすると,
Python を使った方がよさそうな気がする.
というわけで Python でいろいろ探してみた.

Jupyter という宝具

numpy, scipy, matplotlib は有名だ.
メンテや機能追加をはじめとした開発は盛んなようだし,
それなりに長い間安定的に使われているようだから,
そんなに外れもないだろう.

しかしそうしたことよりもさらにすさまじい良い点として,
Jupyter の存在を挙げたい.
Jupyter については見てもらうのが早い.
まず次のページを見てほしい.

GitHub もすごくて,
Jupyter の ipynb をちゃんと表示してくれる.
コード実行機能があってグラフをきちんと表示してくれる.

Markdown 形式でテキストも書いていけるし,
MathJax との連携もある.

きちんと調べてはいないものの,
拡張子の ipynb の ipy は ipython から,
nb は notebook から来ているのだと思う.
notebook はもともと Mathematica の機能で,
単なるコード共有だけでなくノート形式での共有を目指した機能のようだ.
Jupyter はこれを Python でやっている.
実際には Jupyter プロジェクトは Python だけではなく,
Ruby や Haskell をも対象として拡大を続けているらしい.

それはそれとして,
式も入れつつ, コード実行もしつつノート形式で共有できるコンテンツ形式はすごすぎる.
Web インタフェース (ブラウザ) で書いていくことになり,
エディタや IDE の強力な機能は使いづらい.
しかし Jupyter 内でもタブの補完が効くようになっているから,
ブラウザ上であってもそれなりに書きやすくなっている.
あと ipynb はテキストファイル (json?) になっていて,
バージョン管理もやりやすい.

個人的には「数学・物理コンテンツメイキングのためにこんなのがほしかった!」というのが
ほぼ完璧に入っていて, さすがに感動せざるを得ない.

何はともあれ,
しばらくこれを使って数学・物理プログラミングの勉強をしていくことにした.
本当はもっと体系的にまとめた方がいいのかもしれない.
しかしそうやっているといつまで経っても公開できないので,
コンテンツというか記事をちょこちょこ出していくことにする.

野望: 中高の数学学習向けコンテンツも作りたい

実は私は現代数学観光ツアーという企画もやっている.
これは現代数学の勉強で苦労している人向けに,
物理や工学との絡みを重視しつつ,
特に解析学の学部 4 年までの大きなストーリーを見てもらうことを目的にした無料の通信講座だ.

登録ページで量子力学とかバリバリに謳っているので,
かなりその筋というか, けっこうバリバリの人だけが来ると思っていた.
しかし実際に蓋を開けてみると中学や高校の数学を復習しているという大人の参加者も多かった.

現代数学観光ツアーはその主旨からして,
彼らのニーズには全く応えられない.
ただせっかく集まった人を切り捨てるのも忍びない.
というわけでプログラミングと絡めて中高の数学や物理を復習していく方向での
コンテンツメイキングを模索している.

そしてこれがある程度まとまったら,
数学や物理に興味がある中高生にも展開していきたい.
Kindle などの電子書籍でまとめた形にするのもいいが,
やはり通信講座で少しずつ小分けにして配布していくスタイルも良さそう.

何にせよ,
中高の復習がしたい大人,
そして知的好奇心に満ちているものの,
その捌け口が見つからない中高生に向けてもコンテンツを展開していきたい.
そうした目的で記事を書いていく.

GitHub で次のようなまとめページもあった.
今後, 私の勉強の参考にもしていく.

もしあなたが興味を持ってこれらのページの何かで勉強して面白いのがあったら,
ぜひコメントで教えてほしい.


  1. ちなみに 2016-08 に Walck に問い合わせてみたら,
    これについての本を執筆中とのこと.
    出たら買うしかない. 

中高の数学の復習から専門的な数学・物理までいろいろな情報を発信しています.
中高数学に関しては中高数学駆け込み寺,
大学数学に関しては現代数学観光ツアーという無料の通信講座があります.
ご興味のある方はぜひお気軽にご登録ください!

  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

このサイトについて

数学・物理の情報を中心にアカデミックな話題を発信しています。詳しいプロフィールはこちらから。通信講座を中心に数学や物理を独学しやすい環境づくりを目指して日々活動しています。
  • このエントリーをはてなブックマークに追加
  • LINEで送る

YouTube チャンネル登録

講義など動画を使った形式の方が良いコンテンツは動画にしています。ぜひチャンネル登録を!

メルマガ登録

メルマガ登録ページからご登録ください。 数学・物理の専門的な情報と大学受験向けのメルマガの 2 種類があります。

役に立つ・面白い記事があればクリックを!

記事の編集ページから「おすすめ記事」を複数選択してください。