#Julia言語

JupyterとPluto.jlの違い

Jupyterを使うにはPythonが必要。
Pluto.jlはJuliaだけで動く。

Jupyterではセル単位で実行される。
Pluto.jlでは任意のセルの実行が他のセルにも自動的に反映される。さらにスライダーなどの設置がJupyterよりも楽。

github.com/fonsp/Pluto.jl
#Julia言語 続き

Jupyter notebookをダウンロードすると計算結果の情報もそこに含まれている。
Pluto.jlのノートブックをダウンロードしても計算結果の情報は含まれない。

以上のようにJupyterとPluto.jlでは長所と欠点が違うので使い分けるとよいと思います。

github.com/fonsp/Pluto.jl
#Julia言語 仮に私が中高生に初めてJuliaを使わせる仕事が割り振られたとしたら、

①Juliaの公式バイナリをダウンロードしてインストール
②Plots.jlやPluto.jlなどのパッケージのインストール
③using Pluto; Pluto. run() → ブラウザでPlutoが使用可能に!

のようにしたいです。
#Julia言語 そしてどういう題材がよいかはよくわかりませんが、Pluto上で数学的な計算やプロットを気軽にしてもらう。

github.com/fonsp/Pluto.jl

#Julia言語 個人的には必須だと感じている「Pythonさん御一行」もインストールしてJuliaで使えるようにすることは、初めての人には結構大変な場合がありますが、Pluto.jlなら簡単です。
#Julia言語 Pluto.jlのデモ↓

JuliaCon 2020 | Interactive notebooks ~ Pluto.jl | Fons van der Plas @YouTubeより
#Julia言語

MITでのJuliaを使った講義でもPluto.jlは効果的に使われています。

computationalthinking.mit.edu/Spring21/
#Julia言語 はすでに天文学や気候に関するスーパーコンピューティングで利用されています。

そういう道具と同じものを中高生に使わせることができることの意義は大きいと思う。

教育目的には使われているが、実践的な仕事では使われていないものとは全然違う。
#Julia言語 のスーパーコンピューティングでの利用

juliacomputing.com/case-studies/c…
Parallel Supercomputing for Astronomy
Researchers use Julia on a NERSC supercomputer (650,000 cores) to speed astronomical image analysis 1,000x, catalog 188 million astronomical objects in 15 minutes and~
#Julia言語 による気候モデルのスーパーコンピューティング

github.com/CliMA
私が中高生なら「コンピュータの授業では世界最高レベルの仕事も可能になるような現時点で最も優れている道具の1つを使わせて欲しい」と感じると思う。

そういう中高生の教育には #Julia言語 は相当に適切な選択になると思います。
Juliaお試し環境の作り方

①公式バイナリをインストール
julialang.org/downloads/

②Pluto.jlをjuliaを使ってインストール
github.com/fonsp/Pluto.jl…

julia> ]
pkg> add Pluto

③グラフ作画用にPlots.jlをjuliaを使ってインストール
docs.juliaplots.org/latest/install/

julia> ]
pkg> add Plots

これだけ。
#Julia言語 を教育用に利用することへの障碍は日本語の情報が少ないことだけかも。

子供のときには大人が使っている本格的な道具でしかも多くの大人がまだ十分に習得も理解もできていないものを使いたかった。

いい気になりたい子供はそういうものだと思う。大人の役目はいい気にさせてやること。

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with 黒木玄 Gen Kuroki

黒木玄 Gen Kuroki Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @genkuroki

16 Mar
NASAでは普通に #Julia言語 を使っているようですが、日本ではどうなっているんですかね?

Juliaの良い点をNASAがどのように活かしているか分かる動画


Modeling Spacecraft Separation Dynamics in Julia
Jonathan Diegelman
#Julia言語 あらためてNASA JuliaLangでググったら、こんな素敵な動画も見つかりました。


The Julia Language 1.0 Ephemeris and Physical Constants Reader for Solar System Bodies

github.com/JuliaAstro/JPL…
#Julia言語 NASA関連

Pluto.jl
DifferentialEquations.jl
Optim.jl
GlobalSensitivity.jl
MonteCarloMeaurements.jl
ComponentArrays.jl
Unitful.jl

などを使っているみたい。
Read 10 tweets
15 Mar
#数楽 ランダムウォークの話なので、ランダムウォークの数え上げの図をシンプルに描けば簡単です。

(1)は二項係数の問題。

(2)はCを通らない経路を数えて二項係数から引けばよい。

続く Image
#数楽 「Cにいる状態から出発して云々」という発想で最後までやり切るのは苦しいです。

Cを通る経路の個数を数え上げた青の数字をじっと眺めれば色々複雑なことになっていることが分かります。

添付画像の緑の部分はCを経由してAに達する経路の本数(全部で8本になる)の正しい数え方の例。

続く Image
#数楽 移動禁止点があるランダムウォークの経路の数え方に習熟すれば、公平なギャンブルを繰り返すと、勝ちまたは負けに偏っている時間の割合が長くなる確率が高くなることを意味する逆正弦法則を証明できます。以下のリンク先を参照。

この話題は「大学入試問題」という枠で見ない方がお得です。
Read 5 tweets
14 Mar

NASAでどのようにJuliaを使っているか
宇宙船の分離のJuliaによるシミュレーション

多分 #Julia言語 ユーザーはNASAでどのようなパッケージを使っているのか気になると思います。動画のスクショを見て下さい。 ImageImageImageImage
#Julia言語 NASAでの宇宙船の分離シミュレーションで使っているパッケージ続き

添付が画像③によればMATLABでやっていた場合よりも15000倍高速化されたらしい。

DifferentialEquations.jl で微分方程式を解いて、Optim.jl で最適化を実行しているらしい。

Pluto.jlを使っていることもわかる。 ImageImageImage
#Julia言語 NASA では Pluto.jl 上で宇宙船の分離のシミュレーションを行っているらしいのですが、スライダーを設置したり、MonteCarloMeasurements.jl で摂動をかけた場合の結果の違いをシミュレーションのコードを変更せずに表示させているようです。 Image
Read 27 tweets
12 Mar
#Julia言語 で @ distributed を使ってモンテカルロシミュレーションの足し上げを行うときに、forループの内側で rand() を使うと遅くなります。固定された rng について rand(rng) の形式で実行する必要がある。

解決策:@ my_distributed マクロを自作して使う!

gist.github.com/genkuroki/a6dc…
#Julia言語 例の e のモンテカルロ計算については

gist.github.com/genkuroki/5212…

を参照。色々試してみたが、私の環境では @ my_distributed 版がシンプルでかつ一番速かったです。
#Julia言語

@ my_threads - threads version of @ my_distributed

gist.github.com/genkuroki/1efd…
Read 12 tweets
12 Mar
Soraさんの意見にはいつも賛成です。

ただし、「立式」という用語は一般的な用語ではなく、算数教育では「場面や考え方を忠実に式に翻訳すること」という意味で使われており、たし算やかけ算の悪しき順序指導の根拠としても使われる言葉です。意味を代わりに簡単に説明させて下さい。 #超算数
#超算数 順序固定強制指導を氷山の一角とする算数教育界の事情を何も知らないと、「立式」という普通の国語辞典に載っていない特殊な用語の意味を、「問題文をよんで、問題を解くために役に立ちそうな式を書くこと」のような無害な意味で解釈しがち。

実際にはもっと極端な意味で使われています。
#超算数 例:「4人に3本ずつ鉛筆を配るとき、全部で何本の鉛筆が配られますか?」に「式 4×3=12 答え 12本」と答えることを、「答えは正しいが立式は間違っている」とするのが、かけ算順序固定強制指導の典型例です。

4×3が誤りになるという意味を「立式」という特殊な用語は含んでいます!😱
Read 6 tweets
10 Mar
#物理 #数楽 #Julia言語

バネで繋がった2つの質点の片方が自由な質点に弾性衝突する様子を数値計算で動画にしてみました。

衝突時に運動エネルギーがバネの振動エネルギーに移行し、非弾性衝突のようになります。

ソースコード↓
nbviewer.jupyter.org/gist/genkuroki…
ううむ、上下にマージンを入れた方が良かったな。
#Julia言語 動画を全部作り直した。

ソースコード↓
nbviewer.jupyter.org/gist/genkuroki…

丸の直径は質量の3乗根に比例しています。

添付動画では、左側から質量は 1, 1, 2 です。

真ん中の質点と右側の質点は弾性衝突しているのですが、バネにエネルギーが移動して、非弾性衝突っぽくなっています。
Read 22 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!