黒木玄 Gen Kuroki
- いいね数 389,756/311,170
- フォロー 995 フォロワー 14,556 ツイート 293,980
- 現在地 (^-^)/
- Web https://genkuroki.github.io/documents/
- 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
2020年08月19日(水)
#Julia言語
pkg> add UnicodePlots#master
julia -e 'using UnicodePlots;x=0:0.01:2π;lineplot(x,sin.(x))|>show' pic.twitter.com/FuKJXP7zAL
タグ: Julia言語
posted at 00:26:41
#Julia言語 ランダムウォーク
julia -e 'using UnicodePlots; X = cumsum(randn(2, 200), dims=2); lineplot(X[1,:], X[2,:], height=32, width=64, color=:cyan) |> show' pic.twitter.com/LWK8pA3lGh
タグ: Julia言語
posted at 00:26:42
#Julia言語 最小二乗法
bashで set +H した後に
julia -e "using UnicodePlots;x=[0:0.1:3;];y=1 .-2x+randn(length(x));X=[x.^0 x];b=(X'X)\X'y;yy=b[1].+b[2]*x;P=scatterplot(x,y,height=32,width=64);lineplot!(P,x,yy,color=:yellow)|>show"
stackoverflow.com/questions/2212... pic.twitter.com/2xAtMUvbwQ
タグ: Julia言語
posted at 00:26:42
非公開
タグ:
posted at xx:xx:xx
Claim: If the first two Fibonacci numbers are 1 and 1, then the 1.5th Fibonacci number is 0.9204420652599258 + 0.21728689675164006i. 🧵 twitter.com/AlgebraFact/st...
タグ:
posted at 00:49:03
How on earth do you count to 1.5, you may ask? With linear algebra!
One of the most useful ways of writing the Fibonacci sequence is what is sometimes called the Q-matrix form. Define Q to be the symmetric 2x2 matrix [1 1; 1 0].
mathworld.wolfram.com/FibonacciQ-Mat...
タグ:
posted at 00:52:21
非公開
タグ:
posted at xx:xx:xx
The off-diagonal entry of Q is the first Fibonacci number. Then, the matrix power Q^n has the nth Fibonacci number as its off-diagonal element. Here is a simple #JuliaLang program to illustrate how to compute Fibonacci numbers using matrix powers of Q pic.twitter.com/7N3JIp28nR
タグ: JuliaLang
posted at 00:57:07
To get the nth Fibonacci number directly, you can directly compute the nth power of the Q matrix, as in this one-line #JuliaLang function pic.twitter.com/nPHmitWaVZ
タグ: JuliaLang
posted at 00:59:06
@genkuroki もし Ising2D.jl を公式レポジトリに登録したいということならば、
(1) タグをすべて削除する
(2) Project.toml の version を 0.1.0 に戻す
で通ると思います。
基本的にタグは TagBot に任せて全く触らないか、登録以前には 0.0.1 から始めるかで回避できるはずです。
qiita.com/usamik26/items...
タグ:
posted at 01:00:39
As far as writing code goes, that's it! #JuliaLang will happily let you compute the 1.5th Fibonacci number, the pi-th Fibonacci number, even the i-th Fibonacci number! (The imaginary unit is spelled im in Julia) pic.twitter.com/4OzwVUOG1S
タグ: JuliaLang
posted at 01:01:12
The trick is that the power function a^b admits an analytic continuation for complex powers b and matrix bases a, by writing a^b = exp(b log(a)). This is the definition built into #JuliaLang docs.julialang.org/en/v1/stdlib/L....:^-Tuple{AbstractArray{T,2}%20where%20T,Number}
タグ: JuliaLang
posted at 01:03:31
@genkuroki なるほど、理解しました。
- Project.toml のバージョンは 0.1.1 のまま
- v0.1.1 のタグを削除する
でどうですか?
タグ:
posted at 01:18:46
非公開
タグ:
posted at xx:xx:xx
@LirimyDh おお!さんきゅ!タグを削除したら行けました!
github.com/JuliaRegistrie...
現在チェック中!
どうもありがとうございました!
タグ:
posted at 01:21:47
高三 和晃 / Kazuaki Taka @takasan_san_san
@physicsturtle ERROR: LoadError: SystemError: opening file "directroy1/directory2/[すごく長いファイル名]": No such file or directory って感じですね
タグ:
posted at 02:16:12
@takasan_san_san 1.4では出なそうですね、"/"を"\\"にしてもうまく行きませんか? pic.twitter.com/XiO4E8g7fi
タグ:
posted at 02:44:14
Jupyterで新規作成の選択肢としてあるなぁと思ってましたが、これは良さそう。
"Juliaでコーディングするために、Juliaコマンドを1つも知る必要さえない。 Julia内でPythonおよびCコードを使うことができるのみならず、 Python内でJulia を使うことさえもできてしまう!"
qiita.com/baby-degu/item...
タグ:
posted at 07:26:49
@Makoto_SUsys #Julia言語
linspace(a, b, l) = range(a, b, length=l)
もしくは
linspace(a, b, l) = LinRange(a, b, l)
前者の方が精度が高い。
私が試した範囲では前者が後者よりも遅いわけでもないので、私は前者をいつも使っています。この辺の選択、正解を知っている人がいたら教えて欲しいです。 pic.twitter.com/UDEb4tpRck
タグ: Julia言語
posted at 08:55:03
@HShinaoka @Makoto_SUsys #Julia言語 rangeとLinRangeの精度の違いには注意。 pic.twitter.com/0pRe48cm7W
タグ: Julia言語
posted at 08:56:19
Junoだったっけ?#Julialang で便利なIDE。64ビットバージョンしかインストーラーが提供してなかったが、晴れてこちら側が両方とも64ビットに対応することになった。これでjunoユーザになれる?
タグ: Julialang
posted at 08:57:20
非公開
タグ:
posted at xx:xx:xx
#Julia言語 からPythonを使った例の詰め合わせセット
nbviewer.jupyter.org/gist/genkuroki...
1. BeautifulSoup
2. matplotlib
3. SymPy
3. Seaborn
気分的には
JuliaのライブラリはPythonのライブラリを含む!
です。かなり快適に使えます。 twitter.com/potentialpapa/... pic.twitter.com/BXtklDW5Wr
タグ: Julia言語
posted at 10:26:32
@HShinaoka @Makoto_SUsys #Julia言語
rangeの方は内部にBase.TwicePrecisionでstepなどの値を保持していて、私には理解不可能なほど凝った作りになっています。 pic.twitter.com/e8DanpP8pp
タグ: Julia言語
posted at 10:40:42
ごまふあざらし(GomahuAzaras @MathSorcerer
myenigma.hatenablog.com/entry/2020/08/...
イイまとめでした。
タグ:
posted at 10:43:31
@HShinaoka @Makoto_SUsys #Julia言語 で「このXはなんだ?」となったら、dump(X)してみてみると色々分かります。
最終的にはソースコードを見に行く。
タグ: Julia言語
posted at 10:44:13
#Julia言語 の仕様は2018年8月にv1.0になった以降は安定しています。(そういう約束をしてv1.0になった。)
もう2年間も仕様は安定している。
もうすぐ出ると思われるv1.6はlong-term supportになる予定。
私はすでにnightly buildのv1.6.0-DEVを使用していて、かなり安定して使えています。 twitter.com/solzard_/statu...
タグ: Julia言語
posted at 10:53:06
#Julia言語 多分、このスレッドに書いたことと関係があると思います。配列Aについての
sum(f.(A))
をループの中に入れるのは良くないという話。
sum(f, A)
sum(f(a) for a in A)
で無駄なメモリ割合を防げます。(forループに展開する必要はない。)
twitter.com/polymerase_96/...
タグ: Julia言語
posted at 10:59:22
#Julia言語 ループの内側で
y = f.(A[:, j])
のように書くと、A[:,j] と f.(A[:,j]) の分だけメモリ割当が発生します。そうならないようにするには、ループの外側で配列yを作って置いて
@. @ views y = f(A[:, j])
と書きます。@ の後の空白は除く。
docs.julialang.org/en/v1/manual/p...
タグ: Julia言語
posted at 11:16:24
#Julia言語
❌無駄なメモリ割合
⭕️無駄なメモリ割当
実は私はこれでなんどもハマっている。
一番苦労したのは、y .= f.(A) と書くべきところを y = f.(A) としてしまった場合。後で見ても見つからない。
@. y = f(A)
と書いた方が安心。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 12:00:26
Cristóvão D. Sousa @CristovaoDSousa
@tomkwong Last years, I see myself doing x .+ 1 whenever possible 😁
タグ:
posted at 12:37:21
PythonもJuliaもグラフィックライブラリをあまり探索していないのですが、Matlabは200x200くらいまでの画像ならimagescで適当に表示させても50fpsくらいは出してくれるので、結果をリアルタイムに確認したいときはとても便利でした。
タグ:
posted at 14:22:06
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@hayabusa_0613 原理はこちら。VSCode でもたぶん同じ。でもそこまでやると結局 Gnuplot.jl や Gaston.jl と似たものを作ることになってしまいそうな気も。
qiita.com/Lirimy/items/b...
タグ:
posted at 15:53:08
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
『ベイズの定理を悪用し、コロナウイルスPCR検査の有用性を否定する医師達』
なんか獣医師が医師へのアンチこじらせてるけど、例に挙げてるのが、オールスター過ぎて笑うw
室月淳
EARL
岩田健太郎
峰宗太郎
忽那賢志
尾身茂(敬称略)
archive.vn/c4SJ4
タグ:
posted at 16:32:46
@hayabusa_0613 既存のパッケージを参考にできます。
```julia
run(pipeline(`gnuplot`, stdin = gstdin, stdout = gstdout, stderr = gstderr)
```
github.com/mbaz/Gaston.jl...
github.com/gcalderone/Gnu...
タグ:
posted at 16:37:11
julia で
a, b, c = f(x)
と戻り値 3つ返す f があったとき,これを f.(X) すると戻り値が
Array{Array{T,1}, ndims(X)}
の配列の配列になるんだが,これを
A, B, C (size(A) = size(X))
へとスマートに分配する方法ありますかね…
タグ:
posted at 16:57:16
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@HShinaoka @Makoto_SUsys #Julia言語
添付画像1. rangeとLinRangeで実装したRiemann積分の計算速度はrangeの側が圧倒的に速い。このような場合にはLinRangeを使うべきではない。
添付画像2. LinRangeは不正確である。rangeはより正確でかつ
range(-3,2,step=0.5) == -3:0.5:2 == range(-3,2,length=11)
を満たす。続く pic.twitter.com/HrN4ruMQ0c
タグ: Julia言語
posted at 17:17:08
非公開
タグ:
posted at xx:xx:xx
@HShinaoka @Makoto_SUsys #Julia言語
ソースコード
nbviewer.jupyter.org/gist/genkuroki...
注意:私は数日前のnightly buildを使っている。
srart:step:stop 型のレンジは range で作られます。
start:step:stop との整合性的にも range(a, b, length=l) がよいのではないかと思っています。
そして計算速度の問題が決定的。
タグ: Julia言語
posted at 17:21:05
Y = f.(X)
A = getindex.(Y, 1)
B = getindex.(Y, 2)
C = getindex.(Y, 3)
とか
A = first.(Y)
でできなくもないけど,もっと良い方法ありそう
タグ:
posted at 17:26:33
Yoshi MUROYA (室屋義秀) @Yoshi_MUROYA
#FlyforALL #大空を見上げよう
8/21(金)山形県内フライト予定
12:00頃 酒田市
12:08頃 鶴岡市
12:23頃 東根市
12:30頃 山形市
12:40頃 長井市
12:45頃 南陽市
12:50頃 高畠
12:55頃 米沢市
是非大空を見上げてみてください😊
※天候により見えない場合や時間変更の場合あり
#室屋義秀 pic.twitter.com/kk9z4d6p2e
posted at 17:26:42
#Julia言語 現在のJuliaではrand()の繰り返しよりも、rand(m)のようにまとめて擬似乱数を生成した方がずっと速い。
rand()が遅いという問題は
using Random: default_rng
として函数の中で
rng = default_rng()
for~
rand(rng)を使う
end
とすれば解決する。
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/mU1ohRIDwJ
タグ: Julia言語
posted at 17:46:40
なぜ僕らはJuliaを作ったか。プログラム言語擬人化ってのがあったけど、強欲の魔女風でいいかな。www.geidai.ac.jp/~marui/juliala...
タグ:
posted at 17:58:31
@cometscome_phys ぼくも原子からできるんで人類は原子の構造を理解できてるってことは必ず教えます。水素原子の束縛状態だけちゃんと理解しておけば一般の原子の基底状態のことも大雑把にはわかるし、水素結合のことなんかもざっくりとわかる。現実世界の理解という視点で言えば真に圧倒的だと思います。
タグ:
posted at 18:06:45
#Julia言語 rand()ではなく、rand(rng)なら速い。
しかし、using Random: rand!しておいて、前もって準備しておいた
X = Array{Float64, 1}(undef, m)
について、rand!(rng, X) としてXにまとめて擬似乱数を詰め込む方が速い。しかし、コードは複雑で長くなり、バグの原因になるので注意。 pic.twitter.com/wHGpVrvOSP
タグ: Julia言語
posted at 18:17:41
println("$a $b”)はやめろという話が書いてあるのPerformance Tipsだった. 正確にはprintln(file, "$a $b")をやめろって話でファイル出力に数値を直接出力できるのにわざわざstringに変換するのはアホくさいということみたい. あと読みづらいよねという.
docs.julialang.org/en/v1/manual/p...
タグ:
posted at 18:22:31
@sekibunnteisuu @Bff9hc0TgqmqiGB 横失。
私は
■増加と合併を区別する人 ←授業の中の秩序だけを見ている人
■増加と合併を区別しない人 ←自分の見聞きする出来事に実地で算数を用いる人
と考えています。
増加・合併etc の非合理性を示そうとする際、私ならもっと別の問題を挙げます。(この場はお任せしますが)
タグ:
posted at 18:28:57
@cometscome_phys マクロ世界で発見されたクーロンの法則をそのまま極微にまで拡張したあんな単純な(解ける!)モデルでエネルギー順位が見事に再現されて実験とあってしまったというのは歴史的にもすごいことだったと思います。水素原子が身の回りにたくさんあってよかった。最初からヘリウムとかだったら難しすぎ。
タグ:
posted at 18:49:09
@cometscome_phys あと、第ゼロ近似からの補正を吟味することで場の量子論の発展にも大きく寄与したことを思うと量子物理は水素原子にお世話になりっぱなしですね。感謝の碑でも建てたいところです。
タグ:
posted at 18:54:39
@Hal_Tasaki そう考えるとかなり人類の役にたってますね。水素原子ここに眠る、と記念碑をたてて、でも軽いので大気圏外に抜けていくイメージを思い浮かべました
タグ:
posted at 19:09:27
@hydrocoastjp #Julia言語
gist.github.com/genkuroki/2880...
using StructArrays
f(x) = [sinpi(x), cospi(x)]
X = range(0, 1, length=7)
S, C = f.(X) .|> Tuple |> StructArray |> fieldarrays pic.twitter.com/gwOyCApAtI
タグ: Julia言語
posted at 19:24:12
@hydrocoastjp #Julia言語 Xが2次元配列だったり、f(x)が2次元配列であったりしても、うまく行きます。 pic.twitter.com/cf5FJBLht7
タグ: Julia言語
posted at 19:43:07
@golgo_sardine @Bff9hc0TgqmqiGB ブロックされたので、やり取りの画像を流しておきます。
#超算数
算数・数学が苦手だった人が、誤ったことを勉強してしまって馬鹿になった典型例。この人は、「自分は増加と合併を区別しなかったので算数が分からなかった」と言っている。
数教協が、おかしな教義を広げていることがよくわかる。
タグ: 超算数
posted at 19:49:46
Juliaを外部から呼び出したときSIGINTがハンドルできないのでctrl+C連打しないといけないの既知の問題か、pyjuliaでも放置されてるから未解決なのか
タグ:
posted at 19:50:31
内田良:新刊『だれが校則を決めるのか』 @RyoUchida_RIRIS
「指導」と名が付けば
民事上の個人賠償責任が生じない
これが
学校側の安全意識を鈍らせていると
僕も感じています twitter.com/dolce_mousa/st...
タグ:
posted at 19:51:13
@hayabusa_0613 Julia から gnuplot の呼び出し、コマンド送信まではできましたが、
・計算結果を一時ファイルで渡す
・画像を標準出力から受け取る
・sleep をなくす(Gaston.jl では stderr を利用している)
はまだです。#Julia言語
nbviewer.jupyter.org/gist/Lirimy/6e... pic.twitter.com/znuhpFV124
タグ: Julia言語
posted at 19:59:03
非公開
タグ:
posted at xx:xx:xx
求差だの求残だのアホらしいな、と学部時代に同期と笑いあったものだが、当時別の同期が「勉強になった! 教育学って面白い!」と言っていた。
こういうのが算数だと思う人もやっぱりいるんですねえ。 twitter.com/sekibunnteisuu...
タグ:
posted at 20:20:24
非公開
タグ:
posted at xx:xx:xx
@sekibunnteisuu @meri_sugaku この書き込みを思い出します。
算数の学び直しは、分かった気にさせるだけ?
8254.teacup.com/kakezannojunjo...
タグ:
posted at 20:29:05
#Julia言語 Lirimyさんの解説が勉強になる。
Juliaから「ナマgnuplot」を使う方法が確立すれば、今までgnuplotでプロットしまくって来た人達にとって、Juliaが非常に使い易くなりますね。
すでにGnuplot.jlがありますが、RawGnuplot.jlというようなパッケージもあってよいと思う。 twitter.com/lirimydh/statu...
タグ: Julia言語
posted at 20:52:26
MacBook Proのトラックパッドが大きすぎる問題、アルミテープの配置を変えてみた。前より良くなった気がする。 instagr.am/p/CEEbchpDUb3/ pic.twitter.com/IRORbosbv3
タグ:
posted at 20:53:08
ごまふあざらし(GomahuAzaras @MathSorcerer
github.com/JuliaInterop/C... will help julian :D twitter.com/mhsatman/statu...
タグ:
posted at 21:04:46
Stefan Karpinski @StefanKarpinski
@evalparse There’s an open issue discussing adding this to #JuliaLang: github.com/JuliaLang/juli...
タグ: JuliaLang
posted at 21:11:37
julia公式ドキュメントめっちゃ充実してるけど膨大すぎるから素人はおとなしく評価良さそうな本を一冊買った pic.twitter.com/ZfdmrOoerS
タグ:
posted at 21:54:00
Re:RTs しばらく前から「ベイズの定理」を検索するとさっきRTしたツイート達で指摘されているクズのような発言が多すぎて、私は人生の楽しみのうちの一つを失った。
「ベイズ統計とはベイズの定理を基礎とする統計学である」というデマの観察をやり難くなった。
タグ:
posted at 21:55:18
New post: CUDA.jl 1.3 - Multi-device programming - www.juliabloggers.com/cuda-jl-1-3-mu... #julialang
タグ: julialang
posted at 21:56:56
「ベイズの定理」の正しい悪用の仕方は「ベイズ統計はベイズの定理を基礎とする統計学である」というデマを流すことだったはずなのに、ひどいことになってしまった。
タグ:
posted at 21:58:17
2020年新刊🆕コロナ社
1から始める Juliaプログラミング
www.coronasha.co.jp/np/isbn/978433...
読者レビューもございます!
タグ:
posted at 22:00:23
A thread (and question at the end) on experimenting with getting #Julialang and #nimlang working together.
Julia supports interop with C out of the box so given Nim compiles to C, thought it should be pretty straight forward.
posted at 22:02:06
The function I'm trying to call requires a pointer to an array as I need to return multiple values.
Got a simple example working no problem, but the actual code I wanted leads to a segfault.
Can't figure out why, think I must be misunderstanding something. Re-read the docs.
タグ:
posted at 22:02:31
After several hours of banging my head against a wall, I come across this:
github.com/JuliaLang/juli...
Using `ccall()` with a variable that specifies the .DLL/.so location leads to a segfault!
Workaround is to use a string directly.
タグ:
posted at 22:03:16
An issue that's been open since Oct 2018 (!) But it resolves my most immediate issue.
タグ:
posted at 22:03:42
Here's the question (for Julians):
Obviously hardcoding DLL/so locations in packages/functions isn't a great idea, and given the above bug has been around for 2 years, not many people must be hitting it.
There must be a more Julian way of calling C functions: what is it?
タグ:
posted at 22:04:05
Python環境構築の指導に嫌気がさしている企業開発者からすると、julia言語は「ツール使用者の環境構築が全OSとも秒」というクソでかメリットに興味湧いてる
タグ:
posted at 22:06:06
Josef Riegebauer @JosefRiegebauer
Balancing your chemical equation easily with #Julia programming language, see example
zdroid.github.io/blog/2020/08/c... @JuliaLanguage
タグ: Julia
posted at 22:37:31
#数楽 おお!素晴らしい。
複素平面上でのガンマ函数のプロットはみんなやってみるべきだと思う。 twitter.com/fo_tr0/status/...
タグ: 数楽
posted at 22:51:34
adhara_mathphys @adhara_mathphys
昨年の『水素原子がいざなう高次元の世界』の資料はこちらにあげていました. twitter.com/adhara_mathphy...
タグ:
posted at 22:55:24
お待たせしました。修正話が更新されました。是非ご一読を。[第146話] ワンパンマン - 原作/ONE/漫画/村田雄介 | となりのヤングジャンプ tonarinoyj.jp/episode/108341...
タグ:
posted at 22:55:52