Twitter APIの仕様変更のため、「いいね」の新規取得を終了いたしました

黒木玄 Gen Kuroki

@genkuroki

  • いいね数 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年10月10日(土)

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 【ネタ】tuple processing language

S式っぽいタプルでJuliaの式を与えると、それを解釈して実行してくれるマクロ(笑)

空行とコメントを合わせても33行しかありません。続く

gist.github.com/genkuroki/b410... pic.twitter.com/QJHFkulQgK

タグ: Julia言語

posted at 01:10:39

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 タプル式でsin(π/6)を計算してみましょう。

(:call, :sin, (:call, :/, π, 6))

を実行すれば sin(π/6) を計算できます。:call を省略して

(:sin, (:/, π, 6))

でも同じ結果が得られるようにしてあります。続く pic.twitter.com/0sTKEJrnoS

タグ: Julia言語

posted at 01:10:40

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 タプル式で函数も定義できます。

(:(=), (:call, :f, :x), (:call, :sin, :x))

で f(x) = sin(x) と定義できます。In[4]ではそのようにして定義した f(x) を使って f(π/6) を計算しています。続く pic.twitter.com/8kukK5onn9

タグ: Julia言語

posted at 01:12:10

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 タプル式内で函数の定義と実行の両方を行うこともできます。その場合にはタプル式内に2つの文を入れることになるので、:block を使います。

(:block,
(:function, :(g(x)), (:block, (:call, :sin, :x))),
(:call, :g, (:call, :/, π, 6))) pic.twitter.com/sBSc4nxPb0

タグ: Julia言語

posted at 01:13:37

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 タプル式でもっと複雑な函数(例えばforループやifelseを含む函数)を定義して実行することもできます。

添付画像1がタプル式によるプログラムで添付画像2がその実行結果です。1億回ループを回していますが、Juliaなので一瞬で計算が終わります。

ゆかい、ゆかい(笑) pic.twitter.com/s1CAcXIjFD

タグ: Julia言語

posted at 01:15:30

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 Juliaのコードに対応するタプル式は

Meta. show_sexpr(quote ~Juliaのコード~ end)

で得られます。コピー&ペーストして @ t を付ければ概ね(すべての場合とは言わない)実行できるはずです。

ソースコードのありかの再掲↓
gist.github.com/genkuroki/b410...

タグ: Julia言語

posted at 01:18:09

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 やっていることは単純で、タプルをJuliaのExpr型オブジェクトに単純変換してからevalしているだけです。タプルのExprへの変換は再帰的に容易に可能。エラーチェックやら:callの省略可能性を入れなければもっとシンプルに書けました。

タグ: Julia言語

posted at 01:21:04

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 このスレッドはJuliaのExprについて理解を深めるために遊びで作ってみたマクロを使ったネタです。

解説を読んでも理解できないので、自分で具体例をいじって遊びたい。そのとき、Expr(:call, :sin, Expr(:call, :/, π, 6)) のように入力すると、Exprの部分が冗長なので省略したかった。

タグ: Julia言語

posted at 01:24:21

CavalRe @TheCavalRe

20年10月10日

A really nice article. We use Julia for all of those reasons, but also because it is just a joy writing Julia code. It is friendly yet intellectually satisfying at the same time. #julialang twitter.com/lpfeed/status/...

タグ: julialang

posted at 01:24:36

猫屋敷ぺた子 @amaya_th

20年10月10日

研究室でJuliaが流行ってる。

タグ:

posted at 01:49:38

むううみん @muuumin20

20年10月10日

JuliaとLispのマクロの記事、続きを書きました。
はてなブログに投稿しました #はてなブログ #Julia言語 #Lisp
Juliaのマクロは凄かった。Lispは果たして勝てるのか? - SE教育パパむううみんのブログ
muuuminsan.hatenablog.com/entry/2020/10/...

タグ: Julia言語 Lisp はてなブログ

posted at 02:29:18

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

Shuhei Kadowaki @kdwkshh

20年10月10日

I've succeeded to self-profile TypeProfiler.jl; I'm so happy that it detected true errors within TypeProfiler.jl itself, while there're only few false-positives. It even found a possible error point within Julia's compiler code itself (isnan isn't defined)
github.com/aviatesk/TypeP... pic.twitter.com/VWkaKc7d1P

タグ:

posted at 04:55:57

秋野 ひろ / マンガ家 @16_akino

20年10月10日

伯父さんの反抗期エピソード、「反抗期だから反抗しなくちゃ」感あってめっちゃ可愛いからマンガにしました
#寄り道日記 pic.twitter.com/fie9OBa9ta

タグ: 寄り道日記

posted at 05:00:13

ミスたこiPad @missTakoiPad

20年10月10日

#Julialang 実測データを非線形なモデル関数で回帰分析したMCMCな例をTuring.jl tutorialの中から見つけられない。golf putting modelっていうこのブログは役立ちそう。jduncstats.com/tag/turing.jl/

タグ: Julialang

posted at 06:02:02

Erik Engheim @erikengheim

20年10月10日

One of my long term favorite news sites Ars Technica is writing a great story on my favorite language Julia, explaining why it is taking the scientific world with storm. #JuliaLang #programming #science arstechnica.com/science/2020/1...

タグ: JuliaLang programming science

posted at 06:15:32

Mattias Villani @matvil

20年10月10日

Ars technica article on how multiple dispatch in #julialang makes packages just 'magically' work together and how this realization is giving Julia a second boost of popularity now.

arstechnica.com/science/2020/1...

タグ: julialang

posted at 06:40:11

非公開

タグ:

posted at xx:xx:xx

お惣菜 @n7k7

20年10月10日

Julia/C++/etc. 第一原理計算高速化チャレンジ参戦してみようかな

タグ:

posted at 07:47:14

たまね @togekiss1234

20年10月10日

Julia、パッケージの書き方もPythonより書きやすいことが多いな

タグ:

posted at 07:54:10

非公開

タグ:

posted at xx:xx:xx

ともそーくん @tomosoeoc

20年10月10日

@jiamao0106 Rについては役に立たないかもさけれど、数値計算周りのハードウェアの説明はこれがおすすめ。(julia言語めっちゃいいよ!)
biojulia.net/post/hardware/

タグ:

posted at 09:57:13

数学とか語学とか楽しいよね @sasaburo

20年10月10日

Juliaで、3本の3次元縦ベクトルr1、r2、r3から、3×3の行列R=(r1、r2、r3)を作るにはどうしたらよいでしょうか?

タグ:

posted at 10:04:53

™️ @hydrocoastjp

20年10月10日

@sasaburo [r1 r2 r3]
hcat(r1,r2,r3)
cat(r1,r2,r3; dims=2)

これらのどれかですかね?

docs.julialang.org/en/v1/manual/a...

タグ:

posted at 10:34:18

あんちもん2 @antimon2

20年10月10日

@muuumin20 #Julia言語 [at]dbind マクロやっつけ版書いてみました。Juliaだと左辺がtupleなら普通に構造化代入できちゃうので配列の書式だったらtupleに変換するだけの手抜き版💦
gist.github.com/antimon2/23082...

タグ: Julia言語

posted at 10:44:11

まみねこ(耳をお空に置いてきた) @catfoodmami

20年10月10日

なるほど、まだピンと来ないけど読み込んでみたい twitter.com/muuumin20/stat...

タグ:

posted at 10:48:28

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 Juliaのマクロを理解するために役に立つ情報(ネタ)

S式風のタプル式

(:call, :sin, (:call, ;/, π, 6))

をJuliaの式

Expr(:call, :sin, Expr(:call, ;/, π, 6))

に変換して実行するマクロ。これは :(sin(π/6)) に等しい。

この辺の知識があるとJuliaのマクロを理解し易くなる。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 10:48:50

数学とか語学とか楽しいよね @sasaburo

20年10月10日

@hydrocoastjp ありがとうございます!

とりあえず[r1 r2 r3]を試してみたところ、3×3ではなく1×3になってしまうようです。

他も試してみます!

タグ:

posted at 10:48:56

™️ @hydrocoastjp

20年10月10日

@sasaburo Array of Array になったんでしょうか、、
[r1, r2, r3] と [r1 r2 r3] で違うのでお気をつけください!

タグ:

posted at 10:57:28

e^iπ+1@Shadow UnBann @Shollow6

20年10月10日

Julia言語、久々に1.2.0から1.5.2にアップデートしたら、すっげぇ速くなってた。
もともと速かったけど。

タグ:

posted at 11:00:49

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 いつもお世話になっていてかつ速くてびっくりのあんちもん2さん。head :vect を head :tuple に置き換える「手抜き」の話。

Juliaだとネストしたタプルを左辺で使える。例えば

(a, (b, c)) = (1, (2, 3))

でa,b,cをそれぞれ1,2,3にできる。 twitter.com/antimon2/statu...

タグ: Julia言語

posted at 11:04:23

積分定数 @sekibunnteisuu

20年10月10日

@beatboard1 「増加だろうが合併だろうが足し算に順序がある」
vs「順序があるのは増加だけ」

という、トンデモ算数同士の五十歩百歩の内ゲバ

twitter.com/siawasensei/st... pic.twitter.com/wlBIHcNU4j

タグ:

posted at 11:04:53

かなまろ @kanamaro_jl

20年10月10日

JuliaマンみんなエディターはVSCode使ってるっぽい?なんとなくJupyter Labを使ってきたんだけど、どっちがウハウハなんだろう🤔

タグ:

posted at 11:13:03

似非 @kDrjf853_3tna

20年10月10日

ついにAWS上で課題のJuliaのコードを実行できたので,次回の課題は自分のクソ雑魚PC上で回さずに済むのでよかった.

タグ:

posted at 11:13:20

黒木玄 Gen Kuroki @genkuroki

20年10月10日

@hydrocoastjp @sasaburo #Julia言語 a, b, cが長さ3の縦ベクトルのとき

[a b c]

は3×3行列になります。 pic.twitter.com/AzdgrcJzqP

タグ: Julia言語

posted at 11:17:54

数学とか語学とか楽しいよね @sasaburo

20年10月10日

@genkuroki @hydrocoastjp ありがとうございます!
これでできました!

タグ:

posted at 11:20:01

黒木玄 Gen Kuroki @genkuroki

20年10月10日

@sasaburo @hydrocoastjp #Julia言語 行列、縦ベクトル、横ベクトル、スカラーを組み合わせて、より大きな行列を作ることもできます。

線形代数の教科書における行列の分割にあたることをそのままできます。

Juliaと線形代数は非常に相性がよいです。 pic.twitter.com/jaeiBfkJB0

タグ: Julia言語

posted at 11:31:37

黒木玄 Gen Kuroki @genkuroki

20年10月10日

@sasaburo @hydrocoastjp #Julia言語 逆に添付画像のようにすれば行列を分割することもできます。 twitter.com/sasaburo/statu... pic.twitter.com/KX0D76QQrQ

タグ: Julia言語

posted at 11:41:22

非公開

タグ:

posted at xx:xx:xx

数学とか語学とか楽しいよね @sasaburo

20年10月10日

@genkuroki @hydrocoastjp ご丁寧にありがとうございます。
この黒木さんの資料?はどこで見れますか?

タグ:

posted at 11:43:16

夜間瀬 @mechanodon

20年10月10日

Juliaをインストールした。

Python初心者から、Julia初心者へ。

タグ:

posted at 12:00:50

黒木玄 Gen Kuroki @genkuroki

20年10月10日

@sasaburo @hydrocoastjp #Julia言語

寝転んで、iPadのブラウザから自宅内Jupyterサーバーに接続してJuliaを使っています。ついさっきまで使っていたノートブックをワンボタンでGitHub Gistに投稿しておきました。

私のgistには1000以上のJuliaのノートブックがあるものと思われます。

gist.github.com/genkuroki/da67...

タグ: Julia言語

posted at 12:09:31

Authns @authns_sukoshi

20年10月10日

今のがひと段落したらjuliaでmd書いてみるかな。

タグ:

posted at 12:20:04

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

Authns @authns_sukoshi

20年10月10日

gpgpuが手軽にできそうなら、やりたい。

タグ:

posted at 13:32:18

いかろちゃん™ @ikaro1192

20年10月10日

@HavranPolni えぇ...今どきの人っぽくJuliaやRustでかけって?

タグ:

posted at 13:33:12

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語

gist.github.com/genkuroki/b410...
tuple processing language.ipynb

Lisp-like example を追加した。

タプルで書かれたLispっぽいコードがJuliaの式に変換されて実行されています。

これを見れば、Lispを知っている人はJuliaについて理解し易いかも。car, cdrの定義は上のリンク先を参照。 pic.twitter.com/5EdwVaykKV

タグ: Julia言語

posted at 13:42:42

くじラ ^ プログラミングってなんかwk @0x9217

20年10月10日

Julia、他の言語との連携を考えるならWEBアプリにしたてるのも手かな?Genieというものが定番のフレームワークっぽい?
github.com/essenciary/Gen...

タグ:

posted at 13:46:52

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 タプルで書かれたLispっぽいコードはたった数行のプログラムでJuliaで実行可能な式に変換できます(添付画像1のtuple2expr函数)。

こういうことができる点も、Juliaが教育用プログラミング言語として__も__使えると私が考えるゆえん。

gist.github.com/genkuroki/b410... pic.twitter.com/FIXknxcmV9

タグ: Julia言語

posted at 13:49:24

黒木玄 Gen Kuroki @genkuroki

20年10月10日

@antimon2 @muuumin20 #Julia言語 私は「人間にとって易しい表示」と「実体」の話を分けて考えた方がよいと思っています。Juliaでの式を

:(sin(π/6))

のような「人間にとって易しい表示」で式を扱うことと、これと等価な

Expr(:call, :sin, Expr(:call, :/, π, 6))
(内部では head, args 複合体になっている)

を~続く

タグ: Julia言語

posted at 14:02:21

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 以下長くなるので、このツイート以後は返答を切って書きます。

Juliaでマクロを「人間にとって易しい表示」で書こうとすると、苦しい場合が多い。

それに対して、人間にとって易しくないJuliaのExprを直接扱うマクロを書くのは、LispにおけるS式を扱う場合と同程度に易しいと思う。続く

タグ: Julia言語

posted at 14:05:21

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 LispのS式を直接扱うマクロと比較するならば、JuliaのExprを直接扱うマクロを比較するべきだと思いました。

「人間にとって易しい表示」でマクロを便利に書けるようにする話は別の話扱いするべきだと思いました。

この点に注意しないとアンフェアな比較になってしまいます。続く

タグ: Julia言語

posted at 14:07:22

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 JuliaのExprを直接操作するマクロを書くことは、Lispでマクロを書くのと同じようなもので、優劣はないと思います。

一方、現時点で私が知っているツールの組み合わせで、Juliaにおけるマクロを「人間にとって易しい表示」で行うことは相当に難しいです。

道具が揃っていないと思う。続く

タグ: Julia言語

posted at 14:09:57

くじラ ^ プログラミングってなんかwk @0x9217

20年10月10日

ドメインソケットで通信させるのもアリか

タグ:

posted at 14:10:11

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 例えば、

muuuminsan.hatenablog.com/entry/2020/10/...
【もう一つ、MacroToolsというものを使うコードも例示されていたが、こちらの方が教育的だ】

としているマクロは函数定義の「頭の部分」の再構成が不十分で

function f(x::T) where T<:Real ~ end

のように定義された函数には使用できません。続く

タグ: Julia言語

posted at 14:12:34

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 Juliaでの函数の定義の頭の部分は

function f(x::T, y::AbstractArray{T, N}) where {T<:Real, N}

のように複雑な形になりえます。これを「分解して再構成する」のは私のようなプログラミングに慣れていない人にとっては非常に怖い。触らずにすませたい部分です。

続く

タグ: Julia言語

posted at 14:14:49

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 触らずに済ませるためには、函数定義の式exprにおける

f(x::T, y::AbstractArray{T,N}) where {T<:Real,N}

のような部分に対応するexpr.args[1]には触らずにexpr.args[2]のみを変更したい。

現時点ではこれをやるには「人間にとって易しい表示」ではなく、直接操作する方が易しいです。

タグ: Julia言語

posted at 14:17:17

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 以下のリンク先での

【もとの函数が

function bar(a::T; b=456) where T<:Real
println(a, " + ", b, " = ", a + b)
a + b
end

でもうまく行きます】

という注意は見逃してはいけないコメント。

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 14:22:15

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 要するに、私が言いたかったことは、

* JuliaでのExprの直接操作によるマクロとLispでののマクロの優劣はないと私は思う。

* Juliaにおいて「人間に易しい表示」でもマクロを易しく書けるとありがたいが、現時点では無理だと私は思う。今後の発展に期待したい。

というようなことです。

タグ: Julia言語

posted at 14:54:10

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 再掲

* JuliaでのExprの直接操作によるマクロとLispでののマクロの優劣はないと私は思う。

* Juliaにおいて「人間に易しい表示」でもマクロを易しく書けるとありがたいが、現時点では無理だと私は思う。今後の発展に期待したい。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 14:55:57

rithmety @rithmety

20年10月10日

最初の節の数値計算プログラミングに関する説明が特に面白かった。

タグ:

posted at 14:56:05

rithmety @rithmety

20年10月10日

Rust の手続き型マクロも強力なのだけど Julia と違って引数が TokenStream 固定だからパースする作業が入って面倒。

タグ:

posted at 15:02:03

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 JuliaにおけるExprの理解のためには

gist.github.com/genkuroki/fe9c...

を参照。添付画像では同一のExpr

:(function bar(a::T; b = 456) where T <: Real
println(a, " + ", b, " = ", a + b)
a + b
end)

の表現集です。見かけが違うだけで全部同じという認識が大事。 pic.twitter.com/VvyC1ZZV01

タグ: Julia言語

posted at 15:02:11

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 JuliaのExprの直接的構成によって、タプルで書かれたLisp風のコードを容易に実行可能にできることについては

gist.github.com/genkuroki/b410...

を参照。添付画像のようなことをできる。

もちろんこれは【ネタ】で、ゲラゲラ笑ってもらえるとうれしいです。😊 pic.twitter.com/s02IdVNOyI

タグ: Julia言語

posted at 15:05:42

非公開

タグ:

posted at xx:xx:xx

数学とか語学とか楽しいよね @sasaburo

20年10月10日

JuliaでBurgers方程式解かせました。解法はStegar-WarmingのFlux Vector Splittingです。Burgers方程式はEuler方程式とは違い、homogeneity propertyを満たさないので、Vázquez-CendónのSplittingで計算しています。

Juliaでとても書くの楽です。普段使いにしようと思います。 pic.twitter.com/57GwM3QCOF

タグ:

posted at 15:29:51

有川ひろと覚しき人 @arikawahiro0609

20年10月10日

小さい「ぁ」を打つときどっち派?
xaで家族の少数派となったので第三者に問うて逆転を狙う。xa初耳まで言われた。儂とてlaは初耳じゃ。

タグ:

posted at 15:42:14

数学とか語学とか楽しいよね @sasaburo

20年10月10日

rarefactionです。よく見ると原点のあたりで滑らかでない箇所があります。Stegar-WarimingのFVSだと音速点において弱い不連続を生じることが知られています。これを解決するためにVan LeerのsplittingやAUSMなどの発展的スキームがあります。 pic.twitter.com/N2V5gygzuG

タグ:

posted at 15:56:54

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 ゲロゲロ

github.com/JuliaIO/FFMPEG... と同じトラブルでPlots.jlを使えなくなった。私はWindowsなので

c:\Users\genkuroki\.julia\config\startup.jl



ENV["PATH"] = ENV["PATH"]*";"*raw"見付からないと言われたdllファイルが置いてあるディレクトリのフルパス"

と書いてしのいだ。

タグ: Julia言語

posted at 16:08:52

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 #マクロ 【ネタ】

using Plots
plot(sin; label="sin(x)", size=(400, 250))

と同じことを添付画像のように「タプル式」の実行でも可能(笑)。

gist.github.com/genkuroki/b410... pic.twitter.com/RDQU0ZbCCC

タグ: Julia言語 マクロ

posted at 16:23:38

たかはし @anomalo_takhs

20年10月10日

まさか加算代入で躓くとは…
えぇぇぇ…

#julialang
#プログラミング

タグ: julialang プログラミング

posted at 16:31:59

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 参考情報

Common LispからJuliaに引っ越した人がその理由を次のリンク先で述べています。

tamaspapp.eu/post/common-li...

JuliaにはCommon LispやDylanに似ている。同じ人による「Common LispとDylanとJuliaの優位性」に関するコメント↓

discourse.julialang.org/t/design-patte...

twitter.com/muuumin20/stat...

タグ: Julia言語

posted at 16:49:02

黒木玄 Gen Kuroki @genkuroki

20年10月10日

Re: RT Lisp & Julia の「マクロで遊ぼう話」に Rust も参加して来るとさらにおもろい話になりそう。

シンプルなexamplesを幾つか見せてもらわないと感じがつかめない。 twitter.com/rithmety/statu...

タグ:

posted at 17:16:33

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語

julia-users.narkive.com/bs3abQsV/julia...
【Stefan Karpinski

We were never directly influenced by Dylan.~Any linguistic
similarities are due to common influences (e.g. Lisp, Pascal, Algol),~I'm not sure what the reasons were for
Dylan choosing multiple dispatch, but for us ~】

タグ: Julia言語

posted at 17:25:52

みりん風調味料 @mitharzo

20年10月10日

なかなかJuliaが使えるように設定できない

タグ:

posted at 17:30:43

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 既出の

julia-users.narkive.com/bs3abQsV/julia...

tamaspapp.eu/post/common-li...

の両方で強調されていることは、数値計算における

* 成分の型が前もって決まっていない配列への対応の必要性。

成分の型が異なる配列の計算でコードを共有したい。しかも前もって予定していなかった成分の型も許したい。続く

タグ: Julia言語

posted at 17:42:36

齋藤 洋介 @Aobeka11

20年10月10日

よろしくお願いします. twitter.com/Aobeka11/statu...

タグ:

posted at 17:45:41

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 Float64やFloat32の通常の配列、GPUで計算される配列、それらの複素数版やdual number版(自動微分)、成分が配列の配列、などなどについて、可能な限りコードを共有し、それぞれに関わる部分のコードの特殊化は必要最小限で済ませたい。

Juliaは最初からそうできるように設計されていた。

タグ: Julia言語

posted at 17:48:17

小菅 信子 Nobuko M KOSUG @nobuko_kosuge

20年10月10日

和解研究なんて、復讐研究そのものです。復讐はなぜ起きるか、暴力はなぜ連鎖するか、原因をつきとめ和解の条件をさぐるという感じです。

だから先々になりますが「復讐」の本を出します。

タグ:

posted at 17:48:22

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 pkg> up するとPlots.jlの(正確に言えばFFMPEGの)プレコンパイルにこける問題

私は最新版をそのまま使い、PATH環境変数をstartup.jlで設定することによってしのぎました。これはWindowsの場合。他のOSではLD_LIBRARY_PATHの場合もある。

github.com/JuliaIO/FFMPEG... twitter.com/msekino_ml/sta...

タグ: Julia言語

posted at 18:04:41

sin @hyotang666

20年10月10日

> 名前がわかりづらいって?
Common Lispにはそんな方のためにfirst、restもサポートされてますよ。
さらに仕様によりsecond~tenthまで保証されてます。 twitter.com/muuumin20/stat...

タグ:

posted at 18:16:58

Qiita (キータ) 公式 @Qiita

20年10月10日

25LGTM! | Google ColabでJuliaを使う:元々あるノートブックを使う by @cometscome_phys bit.ly/3lwo1wH

タグ:

posted at 18:20:01

sin @hyotang666

20年10月10日

Common LispマクロのすごいとこはCommon Lispのすべての機能が使えるところで、つまりマクロ展開中にライブラリをネットからインストールしてロードしてそれでネットに接続してjsonを落としてきてparseして必要なとこだけ使ってS式を組み立てるとかできるとこだと思う(極論)

タグ:

posted at 18:21:45

ナショナル ジオグラフィック TV @natgeotv_jp

20年10月10日

わずか3秒で時速100キロまで加速するチーター。そんな地上最速の捕食者でも、狩りが百発百中というわけではない。

bit.ly/NatGeoYouTubeJP
#ナショジオ pic.twitter.com/FBGf4o9gr5

タグ: ナショジオ

posted at 19:00:01

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語

JuliaのマクロもJuliaのすべての機能を使えます。
何でもあり。

しかし、私はそれが普通だと思っていた。

Juliaのそういう所はCommon Lispに似ている。

Common LispからJuliaへの移住者の例↓
tamaspapp.eu/post/common-li... twitter.com/hyotang666/sta...

タグ: Julia言語

posted at 19:05:56

たまね @togekiss1234

20年10月10日

Gen.jlで作った線形確率モデル。出力をnorm=1に規格化している。いままで使ってきたMCMCライブラリよりはるかに使いやすい。
#Julia言語 pic.twitter.com/wLcmk4S5d9

タグ: Julia言語

posted at 19:44:57

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 マクロ

macro foo(x, y, z)

end



@ foo A B C

の形式で使用できます(@ の直後の空白は削除)。A, B, Cは1つの式になるJuliaのコードです。このとき、マクロfooは引数x,y,zとしてA,B,Cをパースした結果を受け取ります。パースした結果もJuliaで普通に操作可能。続く

タグ: Julia言語

posted at 19:53:38

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 続き。マクロは引数としてコードをパースした結果である「式」を受け取り、実行可能な「式」を返す任意の函数として定義されます。マクロを実行すると、マクロの返り値の「式」が自動的に実行される。

マクロはそのような任意の函数として定義されるのでJuliaのすべての機能を使えます。

タグ: Julia言語

posted at 19:53:39

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 1つ前のツイートの「式」は、具体的な値(数値、文字列、配列、辞書、シンボル、…)またはそれらを組み合わせたExpr型オブジェクトになり、Juliaのすべての機能を使って操作可能です。その意味の「式」のイメージは、「式」で遊んでみればすぐに得られます。

そのために書いたのが~続く

タグ: Julia言語

posted at 19:56:36

Kazumoto Kojima @1gkojima

20年10月10日

juliaで

function csa(a,b,c,carry_in=0)
s = (a ⊻ b) ⊻ c
c = (((a & b) | (a & c) | (b & c)) << 1) | carry_in
return (s, c)
end

みたいに回路っぽいのを書いてます

タグ:

posted at 19:59:16

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 続き~

gist.github.com/genkuroki/b410...
tuple processing language

です。空行とコメントを除くと13行しかない。

@ teval はタプルで書かれたLisp風の式をJuliaで実行可能な「式」に変換して実行するまくろです。

タプルで書かれた式で、Plotsパッケージを読み込んでグラフも書ける。 pic.twitter.com/yeyJatwMn0

タグ: Julia言語

posted at 20:13:09

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 Lisp風のタプルで書かれた式を得るには、例えば、

Meta. show_sexpr(:(sin(π/6))

を実行します。結果は

(:call, :sin, (:call, ./, π, 6))

になります。これを @ tevalで実行すると

0.49999999999999994

がえられる。@ tevalでは、:call をある程度省略可能にしてあります。 pic.twitter.com/Aef5DRxrBW

タグ: Julia言語

posted at 20:18:21

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語

(:call, :sin, (:call, :/, π, 6))

はJuliaで実行可能な「式」の

Expr(:call, :sin, Expr(:call, :/, π, 6))

に変換されます。見た目的には単にExprを追加しただけ。

以上を知っていると、Juliaのマクロで扱っている「式」がどういうものかについて、具体的なイメージを持てます。

タグ: Julia言語

posted at 20:22:07

黒木玄 Gen Kuroki @genkuroki

20年10月10日

以上で一ヶ所 ./ となっているのはもちろん :/ の誤植です。

タグ:

posted at 20:22:44

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 では、Juliaのコードをパースした結果を表す

:(sin(π/6))



Expr(:call, :sin, Expr(:call, :/, π, 6))

に等しいです。これをMeta. show_sexpr函数は

(:call, :sin, (:call, :/, π, 6))

と表示し、私の@ tevalマクロはこれを :(sin(π/6)) に変換して実行してくれます。

タグ: Julia言語

posted at 20:28:20

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 以上の遊び を繰り返せば、Expr型オブジェクトのイメージがつかめます。しかし、その中身の操作もできるようになるためには、内部構造をdumpして確認する経験も必要です。

dump(:(sin(π/6)))

または

Meta. @ dump sin(π/6)

で中身の詳細が見える。

gist.github.com/genkuroki/b410... pic.twitter.com/f2f6AGgarT

タグ: Julia言語

posted at 20:34:45

白山風露 @kazatsuyu

20年10月10日

rustのproc-macro、およそ何でもできるので面白みはないなという印象。普通に使うけど、足りない機能を黒魔術で補ってる時に感じるワクワク感はない

タグ:

posted at 20:35:59

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Julia言語 Juliaが文字列をどのようにパースするかは、

Meta. parse("sin(π/6)")

などで分かります。しかし、これは

:(sin(π/6))

になるので、こちらの方が必要な入力文字数は小さい。

タグ: Julia言語

posted at 20:38:21

Akinori Ito @akinori_ito

20年10月10日

ローカルのWebコンテンツをブラウザに表示してFluvidで録画しようと思ったら、ローカルコンテンツは録画できないというエラーが出た。そこでローカルマシンにXAMPPを入れて自前のWebサーバ経由で表示させたら録画できた。いいのかそれで

タグ:

posted at 20:40:31

黒木玄 Gen Kuroki @genkuroki

20年10月10日

#Rust言語

誰かが雑談していることが大事。

doc.rust-lang.org/reference/macr...
The Rust Reference

Macros
The functionality and syntax of Rust can be extended with custom definitions called macros. They are given names, and invoked through a consistent syntax:some_extension!(...).

タグ: Rust言語

posted at 20:42:12

CoffeeCup @coffeecup2018

20年10月10日

当初は足し算の順番なんて掛算順序を皮肉るブラックユーモアだとしか思ってなかったけど、真剣に主張する教員がいると知ったときは驚天動地の衝撃だった。どうしてこうなった。 twitter.com/siawasensei/st...

タグ:

posted at 20:56:23

てらモス @termoshtt

20年10月10日

Optional arguments in Rust macro definition qiita.com/liubin/items/7... #Qiita

これな…(´・ω・`)

タグ: Qiita

posted at 21:12:32

積分定数 @sekibunnteisuu

20年10月10日

「掛け算に順序があるなら、足し算にも順序があることになるじゃないか?」

これは、ある意味「背理法」で、「掛け算の順序を認めるとこんなバカなことになりますよ」ということで言っていたけど、

「当然その通りですが何か?」と言われてしまって、

「馬鹿に理屈は通じない」と悟ったのであった。 twitter.com/CoffeeCup2018/...

タグ:

posted at 21:35:36

rithmety @rithmety

20年10月10日

Rust 強い人が書いたマクロはしっかりしてるなぁ。

タグ:

posted at 21:44:19

rithmety @rithmety

20年10月10日

一方、自分の書いたマクロ。

qiita.com/rithmety/items...

タグ:

posted at 21:46:24

むううみん @muuumin20

20年10月10日

@antimon2 勉強になります。すごくシンプルで驚きましたが、確かに、Lisp系は「何でもプログラマが作れる」が強みと言われてますが、Juliaくらい気の利いた言語になると、大概の便利なものが既に用意されているという。

タグ:

posted at 22:52:58

むううみん @muuumin20

20年10月10日

私の記事のコメント欄から転載。JuliaがLispより優れている点が挙げられています。

"逆にLisp側(リスト操作マクロ)のデメリットは構文情報が欠落するということです。"(続く)
#Julia言語 #Lisp twitter.com/muuumin20/stat...

タグ: Julia言語 Lisp

posted at 23:06:51

むううみん @muuumin20

20年10月10日

(続き)"欠落に問題が生じる場合には文脈を考慮しながらリストを操作していきます(コードウォーキング)が、単なるリストに適切な構文情報を付与するのは難しいため、そのようなマクロは気軽には書けません" (続く)
#Julia言語 #Lisp

タグ: Julia言語 Lisp

posted at 23:07:51

むううみん @muuumin20

20年10月10日

(続き)"(On LispでもLet Over Lambdaでも紹介されていません。具体的には型情報の伝搬や、それによる最適化等)"(引用終わり)

ということです。具体的なコードでいい例があれば教えてもらえないか聞いています。
#Julia言語 #Lisp

タグ: Julia言語 Lisp

posted at 23:09:28

三塚ハル @mtkharu3

20年10月10日

知っていたとはいえ「大卒に課す数学の試験」を改めて眺めるとショックを受ける(呆れ
blog.goo.ne.jp/mh0920-yh/e/00...

タグ:

posted at 23:45:28

@genkurokiホーム
スポンサーリンク
▲ページの先頭に戻る
ツイート  タグ  ユーザー

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

掛算 統計 超算数 Julia言語 数楽 JuliaLang 十分 と教 モルグリコ 掛け算

※タグはスペースで区切ってください

送信中

送信に失敗しました

タグを編集しました