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年09月15日(火)

(・ิω・ิ) @TaleOfDuckedon

20年9月15日

あれ、Juliaって整数と浮動小数点の暗黙的な変換はされないのか……?

タグ:

posted at 23:51:27

Yuki Nagai @cometscome_phys

20年9月15日

@CHOHCOOH2 a = [1,2,3,4,5]
b = a
b[1+2] = 0

aは[1,2,0,4,5]
になります。Juliaの配列は基本的に参照なので、b=aとすると参照をコピーしたことになりアドレスが共有されます。値のコピーならb=a[:]あるいはb=copy(b)です

タグ:

posted at 23:49:42

Richard McElreath @rlmcelreath

20年9月15日

so @JuliaLanguage supports rational numbers and I think I might be addicted. docs: docs.julialang.org/en/v1/manual/c... pic.twitter.com/CZ5Ab329SD

タグ:

posted at 23:49:36

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@CHOHCOOH2 #Julia言語

スクショでb[3] = 0 で a[3] も 0 になっていることがわかります。

ソースコード↓
gist.github.com/genkuroki/8015... pic.twitter.com/s9NbgMKqzq

タグ: Julia言語

posted at 23:47:01

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@CHOHCOOH2 2行目で b[2] = 0 とすると a と b の第二成分が変わります。

b[begin+2] の begin は配列bにおける最初のインデックス(この場合は1)を意味しています。

JuliaにはOffsetArrays.jlというパッケージがあり、配列のインデックスの始まりを自由に選べるので、安全のためにこういう書き方をしてみた。

タグ:

posted at 23:44:08

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@CHOHCOOH2 #Julia言語 ソースコード

gist.github.com/genkuroki/8015...

スクショのように、配列の最初から2つ後の成分を書き変える函数もシンプルに書けます。 pic.twitter.com/MXTwWrgNaB

タグ: Julia言語

posted at 23:41:31

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@CHOHCOOH2 #Julia言語 では

a = [1, 2, 3, 4, 5]
b = a
b[begin+2] = 0

a も b も [1, 2, 0, 4, 5] になる

こうなって欲しくなければ b = copy(a) とする。

こういう仕様になっているプログラミング言語は結構多いと思います。

Cと同じ速さの計算速度と書き易さを両立したければJuliaは非常に便利です。 pic.twitter.com/lVPgWmRjEw

タグ: Julia言語

posted at 23:32:54

Stefan Karpinski @StefanKarpinski

20年9月15日

This is incredible:

- user submits an apparent #JuliaLang bug
- Julia dev (@KenoFischer) debugs it remotely
- discovers that the cause is a hardware problem

This diagnosis turns out to be correct:

he remotely diagnosed faulty physical memory 😲🤯 twitter.com/KenoFischer/st...

タグ: JuliaLang

posted at 23:25:24

非公開

タグ:

posted at xx:xx:xx

Jiahao Chen 陈家豪 @acidflask

20年9月15日

@DocSparse @tymwol The #JuliaLang code should handle sparse matrices without modification

タグ: JuliaLang

posted at 23:05:43

Erik Engheim @erikengheim

20年9月15日

@yiyuezhuo @DanielOCL @tymwol @edIT It is a bit big topic to explain why I find Julia easier to read, as there are so many details. This article I wrote on Machine Learning in #Python and #JuliaLang may explain better: medium.com/@Jernfrost/pyt...

タグ: JuliaLang Python

posted at 22:28:57

Erik Engheim @erikengheim

20年9月15日

@yiyuezhuo @DanielOCL @tymwol @edIT Complete opposite for me. Much easier for me to read and understand Julia code. When I read Python code I really miss type information. I miss source code for all important stuff. I miss the well formatted online documentation and great code examples.

タグ:

posted at 22:25:55

Soyukke @SoyukkeA

20年9月15日

Juliaの変数名考えるの難しい問題(一番つけたい名前が関数名とイコール)

タグ:

posted at 22:20:17

みるみる @FFAsQmawMkgJhlO

20年9月15日

マナー講習に似てるかも。ローカルルールだということを徹底周知しないとトラブルの原因を増やすだけだと思う。 twitter.com/genkuroki/stat...

タグ:

posted at 22:02:21

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 のmultiple dispatchを使い始めたとき、最初に出会う「うざいこと」は

  MethodError f(~) is ambiguous

と言われまくること。

しかし、添付画像を見れば分かるように、Possible fix をJuliaは教えてくれるので、焦らず冷静に対処すれば大丈夫です。 pic.twitter.com/wpAMGOLnhf

タグ: Julia言語

posted at 21:48:57

smj_tcBt @smj_tcBot

20年9月15日

PythonからJuliaを呼び出すPyjuliaのメモ
qiita.com//syoyo/items/5...

タグ:

posted at 21:35:24

黒木玄 Gen Kuroki @genkuroki

20年9月15日

子供時代に、学校の先生も含めて、他人と違うことを言ったときに褒められた記憶しかない。

市民図書館でも、優しい司書の人に、こんな本を読んだらと勧められた本にも良い影響を受けている。

大人は子供にそういう感じで親切なのが普通だとおもっていたが、ここ数年、がっかりすることが多い。

タグ:

posted at 21:26:13

もりちゃん @morichanemorich

20年9月15日

ガースーは「国債を発行して雇用を守る」と言った。時間はない。1秒でも早くやってもらおう。

【内定取り消し、昨年の5倍 - 共同通信】 this.kiji.is/67848245385815...
@sugawitter

タグ:

posted at 21:06:30

黒木玄 Gen Kuroki @genkuroki

20年9月15日

通常のケースでは「我々の側が常識的でかつ一方的に正しい」という態度で議論してはいけないものだと思います。

しかし、かけ算順序固定強制問題を微小な氷山の一角として含むチョー算数問題ではそれをやらない方が有害だと思います。

タグ:

posted at 21:02:33

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#超算数 単なる常識レベルのこと(「のこり」と書かなくても日本語的に通用する言い方は沢山あること、たし算やかけ算の式の順序を変えても意味は変わらないこと、など)について、「学術的真実」と呼ぶのはまずい。

「常識vs.非常識」という事実に基く対立図式を強調するべき。

タグ: 超算数

posted at 21:02:32

Qiita_Python @qiita_python

20年9月15日

Python から Julia を呼び出す Pyjulia のメモ - qiita.com/syoyo/items/5b...

タグ:

posted at 21:02:04

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 私は他人にスクショからのコードの写経をあんまりやらせたくないので、ソースコードにリンクをはりたいと思っています。リンク↓

gist.github.com/genkuroki/7393...

一時期1~2日くらいの間GistでのJupyter notebookの表示が劣化していたように思うのですが、結果的に改善された感じがする。

タグ: Julia言語

posted at 20:50:05

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@NOBIE41 あああ!「シード値」が「シード血」になっていた!(笑)
教えてもらって気付いた。天然ネタになっていたのか!🤣

タグ:

posted at 20:36:50

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 数値計算では単なる足し算でもアルゴリズムの違いを気にしなければいけない場合に出会います。

今回の例は人為的ではない数学的定理の数値的確認という自然な状況なので説明用に使い易いかもしれないと思いました。

タグ: Julia言語

posted at 20:35:24

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 Float32の精度で計算しても、A,B,Dでは理論通り約0.25の値が得られていますが、Cでは0.167のような全然違う値になっている!

Cの方法でNを増やしながら計算した結果は添付画像の通り。

Nを増やすと理論値の0.25から離れてどんどん小さくなる!(笑) pic.twitter.com/uPuW5YXkym

タグ: Julia言語

posted at 20:29:58

Mosè Giordano @MoseGiordano

20年9月15日

@AruEcon www.julia-vscode.org I wouldn't consider a notebook a development environment 😉

タグ:

posted at 20:20:16

Hiroyasu Kamo @kamo_hiroyasu

20年9月15日

@sensei_taihen まさかと思いますが、教員は教え子から常に評価を受けていることを自覚せずに教員をやっていたりしませんよね。それは危険です。(教え子の教員への個々の評価が正当であるかどうかは別問題です。念のため)

タグ:

posted at 20:11:13

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 C: mean(x[i]*x[i+k-1] for i in 1:N) だけが他から離れていると言っても、値に 10⁻¹³ オーダーの違いしかないのだから大した問題にならないと思った人もいるかもしれませんが、もとのコードをもう少しましなものに改造してFloat32の場合に計算すると「あっ!」と叫ぶことになる‼️ pic.twitter.com/H4GsAvkxFJ

タグ: Julia言語

posted at 20:07:10

Erik Engheim @erikengheim

20年9月15日

@karencfisher @DanielOCL @tymwol Yes, but in Python you must take care to do that explicitly. If you forget, you risk overwriting a type of function accidentally. You have no such worries in Julia, so mass import of types and functions is risk free.

タグ:

posted at 20:07:07

Hiroyasu Kamo @kamo_hiroyasu

20年9月15日

@sensei_taihen いえ、小心者でしたので、口に出さないように注意深く行動していました。

タグ:

posted at 20:06:30

Erik Engheim @erikengheim

20年9月15日

@yiyuezhuo @DanielOCL @tymwol I would say it is much easier in Julia. In #Python how do you quickly lookup the code for `obj.foobar()`? In Julia you can just write `@edit foobar(obj)` and you jump to the implementation. Or you could lookup the help for that method with `? foobar(obj)`. #JuliaLang

タグ: JuliaLang Python

posted at 20:04:30

Hiroyasu Kamo @kamo_hiroyasu

20年9月15日

@sensei_taihen たとえば、私は小学校の理科で学ぶ程度の科学知識はそのずっと前に当時の子供向け百科事典等で獲得していました。当時の先生が理科の時間にその知識と矛盾する説明をすることはしょっちゅうでした。私は、その先生は理科が苦手なのだと評価していました(口には出しませんでしたが)。

タグ:

posted at 20:02:15

NOBIE.jl @NOBIE41

20年9月15日

@genkuroki 血を見るシード値、すなわちシード血

タグ:

posted at 19:55:36

Hiroyasu Kamo @kamo_hiroyasu

20年9月15日

@sensei_taihen あれ? わかっていらっしゃると思ったのに。

小学校に限らず、学校というものは児童・生徒・学生の情報入手経路を独占する権限も能力も持ちません。学校で習ったこととそれ以外からの情報が食い違ってどちらが正しいのだろうと評価される圧に常に晒されている存在です。

タグ:

posted at 19:55:16

Erik Engheim @erikengheim

20年9月15日

@yiyuezhuo @DanielOCL @tymwol The problem with `from m import *` in Python is that it will overwrite identifiers from other modules with the same name. That problem does not exist in Julia. Hence Julia `using Foobar` is totally safe, and preferable.

タグ:

posted at 19:51:35

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 k=1~10, N=10^6-9

A: mean(@ views x[1:N] .* x[k:N+k-1])
B: mean(i->x[i]*x[i+k-1], 1:N)
C: mean(x[i]*x[i+k-1] for i in 1:N)
D: @ views dot(x[1:N], x[k:N+k-1])/N

の4つの結果の浮動小数点数としての違いにも注目。A, Bはほぼ同じで、Dはそれらに非常に近いが、Cは離れている。 pic.twitter.com/RNtjzyhJfi

タグ: Julia言語

posted at 19:50:41

Hiroyasu Kamo @kamo_hiroyasu

20年9月15日

まさにその通り。よくわかっていらっしゃる。 twitter.com/sensei_taihen/...

タグ:

posted at 19:43:42

Cristóvão D. Sousa  @CristovaoDSousa

20年9月15日

@tymwol #julialang
I'm biased by everything Julia, but even so, Julia has a higher signal-to-noise ratio in this case.

タグ: julialang

posted at 19:03:26

afu☺︎ @jg8eaJZYnSZbcVD

20年9月15日

@rikomrnk @io302 15歳高1の娘を持つ母親です。推奨再開になるまではと接種を伸ばし伸ばししてきましたが、とうとう今月中に1回目の接種をしなければ公的補助の期間内に打ち終わらない所まで来てしまいました…。まだ推奨できるだけのデータが揃っていないなら公的補助期間の延長を望みます。

タグ:

posted at 18:47:21

syoyo.eth @syoyo

20年9月15日

PyJulia で Python で Julia 呼び出しを極める旅に出たい > github.com/JuliaPy/pyjulia

タグ:

posted at 18:36:56

Kodack @iKodack

20年9月15日

基本的に俺は目的ドリブンで言語を習得するんだけど、juliaやRustは使えるとこれが出来る/圧倒的に楽になる、みたいなのが今のところ自分の中にあまりないので漫然と習得できないまま終わりそう

タグ:

posted at 17:41:01

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

PAW @akhdhys

20年9月15日

Julia書いてる時、Vector of VectorにするかMatrixにするかすごい悩むな

タグ:

posted at 17:28:41

ceptree @ceptree

20年9月15日

はよJuliaに論文でエンカしたい

タグ:

posted at 17:27:51

@masui

20年9月15日

何が間違いなのかわからなかった。二十八の「次の数」は「二十九」だし。

なんで「つぎのかず」がアラビア数字のことになるんだろう??? twitter.com/dum_ishii/stat...

タグ:

posted at 16:27:09

Тагсанов @tagsanov

20年9月15日

JuliaのBaseパッケージの関数を並列化したもの。よく使う関数の先頭にThreadsX.とつけるだけで、高速化が期待できる

tkf/ThreadsX.jl | github.com/tkf/ThreadsX.jl

タグ:

posted at 16:05:11

積分定数 @sekibunnteisuu

20年9月15日

#超国語 で、もしかして学校の国語で、

「文には主語が必須」
「~は、とあればそれが主語」

と誤ったことが教えられているのではないかと疑問がわいてきた。
www.hiroshima-c.ed.jp/center/wp-cont...

「今日は雨がふっていたので,わたしは,家の中で本を読みました。」

「わたしは」がない方が自然に思えるけど

タグ: 超国語

posted at 15:41:31

積分定数 @sekibunnteisuu

20年9月15日

#超算数 これは、

式が場面を表す
引き算意味=求残と求差
求残のキーワードは「のこり」

という、超算数を煮詰めて濃縮したクソ問題・クソ採点だが、

「主語が箱の中だから文法的に間違い」と間違った認識の人たちが、明後日の方向から採点を援護射撃。

#超国語 twitter.com/uochumeinan/st...

タグ: 超国語 超算数

posted at 15:37:21

かなまろ @kanamaro_jl

20年9月15日

#Julia言語
サイズの小さなベクトルや行列の計算を繰り返すなら、StaticArrays.jlはやはり強力だな。サイズと要素の型が決まって、かつimmutableなら、めっちゃ速くなる。mutableなベクトルにしたくてFloat64[]にしていたところも、MVectorにしたらメモリ割当がかなり減った。

タグ: Julia言語

posted at 14:52:43

syoyo.eth @syoyo

20年9月15日

Julia で Conv2D を極める旅に出たい

タグ:

posted at 14:39:19

Logan.GPT @OfficialLoganK

20年9月15日

@PhDemetri @quantadan @pumas_ai is specially licensed so it’s only distributed via @JuliaComputing’s JuliaPro (there are a small number of packages like this). Let me know if you have any questions. #JuliaLang

タグ: JuliaLang

posted at 13:50:39

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@TaleOfDuckedon #Julia言語 以上のような考え方による他人が書いたコードの利用は、Juliaだとmultiple dispatchのルールに従ってシンプルに理解できます。

しかし、そうではない場合には色々おまじないの記述が必要になって面倒になったりします。直観的にそうなって欲しいことの実現への手間が増える。

タグ: Julia言語

posted at 13:41:55

(・ิω・ิ) @TaleOfDuckedon

20年9月15日

@genkuroki ありがとうございます!参考に見てみます!

タグ:

posted at 13:41:06

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@TaleOfDuckedon #Julia言語

以下の例も参考になると思います。DogやCatをMatrixやFooMatrixの類似物とみて、PetをAbstractMatrixの類似物と考える。

その類似における違いはAbstractMatrixで定義されている fallbacks がPetとは違って非常に充実していることです。

gist.github.com/genkuroki/8e04... pic.twitter.com/emVhPlPQkR

タグ: Julia言語

posted at 13:40:08

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@TaleOfDuckedon #Julia言語

struct FooMatrix{T, U<:AbstractMatrix{T}} <: AbstractMatrix{T} ~ end



<: AbstractMatrix{T}

の記述のおかげで、FooMatrixについて定義されていないメソッドについては、AbstractMatrixに定義されているメソッドが自動的に使われることになる。

これはJulia以外でも普通。

タグ: Julia言語

posted at 13:33:45

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@TaleOfDuckedon #Julia言語 ごめんなさい。困ることになりそうなコードの例(Julia以外でも擬似コードでも可)が示されていないので、どういう心配なのか理解することが難しいです。

「論よりコード」だと思うので、ひとまずは、次のリンク先のコードを見て下さい。

nbviewer.jupyter.org/gist/genkuroki...
simplest FooMatrix pic.twitter.com/OZdUmFdjnK

タグ: Julia言語

posted at 13:31:25

Tom Kwong @tomkwong

20年9月15日

TIL moving columns in DataFrames.jl is really easy using the magical colon symbol.
#JuliaLang #DataScience pic.twitter.com/A8fb6GjS9J

タグ: DataScience JuliaLang

posted at 13:28:18

eval parse @evalparse

20年9月15日

@tp2750 I wrote DataConvenience.jl for convenience. I only export the @> for piping.

You can also use Lazy.jl but it exports `groupby` which can cause issues with DataFrames.jl

Also, DataConvience exports a `filter(::AbstractDataFrame, stuff)` signature which is lacking otherwise.

タグ:

posted at 13:27:16

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 関連

nextjournal.com/sdanisch/the-j...
The Julia Language Challenge

Rules

* There are 3 categories: developer effort, performance and extensibility.

* A successful implementations needs to shine in all 3 categories.

回答例→ medium.com/@wolfv/the-jul...

タグ: Julia言語

posted at 12:54:20

Kodack @iKodack

20年9月15日

ついに誤り訂正の先行研究でjuliaで書かれた数値計算コードを発見し、juliaを最低限読み書きできるようにならんとあかんという圧を感じる

タグ:

posted at 12:41:47

JacobZelko @Jacob_Zelko

20年9月15日

Thanks everyone so much for supporting the Javis project!

The project grew by more than 25% on GitHub from 67 to 85 stars - just today! 😱

@Wikunia_de and I look forward to keeping on developing Javis!

Project link: github.com/Wikunia/Javis.jl

#julialang #opensource #programming pic.twitter.com/UkiyWHKJB4

タグ: julialang opensource programming

posted at 12:34:01

みょうが @mrkn

20年9月15日

@genkuroki 追加で良いと思います!

タグ:

posted at 12:23:56

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@mrkn こちらでも動作確認を終了しました。

多くの人にとってありがたい情報だと思うので、

gist.github.com/genkuroki/8e04...

にも追加しておきました。追加がご迷惑なら、追加を削除して、こちらのスレッドにリンクをはって説明するだけですますので言って下さい。

タグ:

posted at 12:23:17

Mikola " petertodd" @MikolaLysenko

20年9月15日

@tymwol for this example #julialang clearly wins

タグ: julialang

posted at 12:10:12

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@mrkn おお!素早い!どうもありがとうございます!

タグ:

posted at 12:04:24

みょうが @mrkn

20年9月15日

@genkuroki こんな感じで encounter の引数をテンプレート化すると Julia 版のようにフォールバックされなくなります

gist.github.com/mrkn/0b156c2d3...

タグ:

posted at 11:47:32

黒木玄 Gen Kuroki @genkuroki

20年9月15日

全体を暗記できる数行程度のプログラムのコードならスクショを証拠として提出しても良いとは思いますが、「第三者でも確認可能」の中に「スクショで示された長くて複雑なコードを第三者が手で打ち込み直せば確認可能」というのが混じっているのは困る。

タグ:

posted at 11:33:17

黒木玄 Gen Kuroki @genkuroki

20年9月15日

単に第三者が確認可能なだけではダメで、必要な情報がピンポイントで引用されていて、わざわざ図書館などに行かなくても誰もが確認できることが大事。

タグ:

posted at 11:30:28

黒木玄 Gen Kuroki @genkuroki

20年9月15日

チョー算数問題でも何でも私は常に証拠に当たる第三者が確認可能な(しかも小さなコストで確認可能な)情報の提示を求め続けることを主にやっているように思える。

タグ:

posted at 11:28:23

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@mrkn 実行可能なコードの例を、スクショではなく、GitHub Gistなどで示してくれると助かります。

この手の話題では具体的なコードを示すことが必須だと思います。

そのコードは私が責任を持って拡散します!😊

タグ:

posted at 11:26:30

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 の一般ユーザー達が、

hoge. moge. poge. foo(x, y)

のように書かずに、

foo(x, y)

と書けるようにして使っていることについて、大事なルールを破っているかのように感じる人達は過学習しているだけ。

タグ: Julia言語

posted at 11:22:55

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 ユーザー側に

hoge. moge. poge. foo

のように書くことを推奨せざるを得なくなっている理由は、その言語の仕様に不十分な点があるからであり、そのように推奨すること自体が常に合理的であるわけではありません。

タグ: Julia言語

posted at 11:17:28

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 のユーザー達が

using Foo

して、Foo内で定義されたメソッドfooを他ではよく見る

hoge. moge. poge. foo (.の後のスペースは除く)

ではなく、

foo

という名前で使っていることを見て、

何か劣っていること

をやっているように見える人は過学習のせいで頭がかたくなっています。

タグ: Julia言語

posted at 11:14:42

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 とC++などの本質的な違いについては下のリンク先を参照。このスレッドとの関連は

Pet ↔ AbstractMatrix
Dog ↔ Matrix
Cat ↔ FooMatrix

のような類似を考えれば分かります。

Juliaのエコシステム内では他人の書いたコードの相互利用が非常にうまく行っている理由がまさにこれ。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 11:10:15

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 さらに、FooMatricesパッケージ内で、FooMatrix型の行列とJuliaのビルトインのMatrix型のあいだの+,-,*,\,/も定義してくれていれば、ユーザーは2種類の型の行列を混ぜて+,-,*,\,/できます。

続く

タグ: Julia言語

posted at 11:05:36

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 これは +, -, *, / のような基本的な演算子についても言えます。

FooMatrices内ではFooMatrix型についての+,-,*,/,\なども定義されているはずなのですが、

using FooMatrices

として、FooMatrix型の+,-,*,/,\をJuliaにもともとあった+,-,*,/,\と一緒に用いることができる。続く

タグ: Julia言語

posted at 11:03:21

黒木玄 Gen Kuroki @genkuroki

20年9月15日

続き。 #Julia言語 では

using LinearAlgebra
using FooMatrices

として、

Juliaのビルトインcholesky
パッケージFooMatricesで定義された別のcholesky

の両方を

cholesky

という名前で使っても、名前が衝突して困ることはありません。

これはJuliaを理解するときの重要なポイント。

タグ: Julia言語

posted at 10:59:27

黒木玄 Gen Kuroki @genkuroki

20年9月15日

Re: RTs

仮定:誰かが行列のFooMatrix型を定義し、それについての基本演算を独自に実装し、FooMatricesという名前のパッケージとして配布しており、そこにcholeskyメソッドも含まれていたとします。続く

タグ:

posted at 10:55:47

Daisuke KATO @Dsuke_KATO

20年9月15日

Rustのcrateをdevに切り替えるのどうするんだっけ・・・juliaのdevみたいなスイッチあったっけ・・・。まぁいいや

タグ:

posted at 09:05:28

https://mathstodon.x @abel_siqueira

20年9月15日

O tópico das aulas de Otimização em @JuliaLanguage desta semana é *Newton*. Trago 3 aulas tratando de Newton purinho, e do controle de passos com busca linear e região de confiança.

youtu.be/Bzy2ZRvedQo
youtu.be/8KHLj_h2ETA
youtu.be/T-eAbhXHeyA

#JuliaLang #Optimization pic.twitter.com/XWitfsGfM2

タグ: JuliaLang Optimization

posted at 08:39:41

非公開

タグ:

posted at xx:xx:xx

DSCF_1224_open @DSCF_1224_open

20年9月15日

Juliaでの自作複合型に対する演算子オーバーロード
gist.github.com/DSCF-1224/b650...

タグ:

posted at 06:57:56

Erik Engheim @erikengheim

20年9月15日

@yiyuezhuo @DanielOCL @tymwol My point is that in Python this is a necessity due to poor handling of name collisions. In Julia this isn't much of a problem and so `using PackageName` is totally safe to do in Julia. I didn't quite follow your last point about determining a name. You talk about locating a func?

タグ:

posted at 06:18:37

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@kdwkshh @eco_tetsu 深夜にどうもありがとうございます。

説明を読んで、現時点では自力での理解は無理だったこともわかりました。

面白いです!

タグ:

posted at 03:30:38

Shuhei Kadowaki @kdwkshh

20年9月15日

@genkuroki @eco_tetsu *viewの型が複雑 ではなくて、viewをflattenしたものに対するiterateの返り値型ですね

タグ:

posted at 03:11:55

Shuhei Kadowaki @kdwkshh

20年9月15日

@genkuroki @eco_tetsu Cthulhuってパッケージが使いやすくておすすめです:
github.com/JuliaDebug/Cth...

それと、ご存知かもしれないですがglobal variableを使って`at-btime`するときは`$`使ってinterpolationしてあげた方がいいです:
github.com/JuliaCI/Benchm...

タグ:

posted at 03:10:21

Shuhei Kadowaki @kdwkshh

20年9月15日

@genkuroki @eco_tetsu wideningは複雑な型をより抽象度の高い型に遷移させることで型推論の収束性を保つヒューリスティックです。
詳しくはこれとか(juliacomputing.com/blog/2016/04/0...)、あとは僕の卒論でもちょっと説明してます(github.com/aviatesk/grad-...)
あと余計な補足をすると、関数呼び出しの深い部分での型安定性を調べるときは

タグ:

posted at 03:07:17

Shuhei Kadowaki @kdwkshh

20年9月15日

@genkuroki @eco_tetsu おそらくそこの型不安定性がメモリ割り当てを増大させてて、実際にプロファイリングしてもその行で時間が取られてました
(Junoのプロファイラ使うとめちゃわかりやすいのでおすすめです:
e.g. `at-profiler f(a, b)`

タグ:

posted at 02:57:33

Shuhei Kadowaki @kdwkshh

20年9月15日

@genkuroki @eco_tetsu `at-view`の方はここが完全に型不安定(Any-typed)になるっぽいっすね:
github.com/JuliaLang/juli...

原因としては、viewの型がかなり複雑なので、JITの過程で型がwideningされてしまうことです。
このgistの結果を見ていただけるとわかりやすいかもです:
gist.github.com/aviatesk/c1026...

タグ:

posted at 02:52:56

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@eco_tetsu もしも仮にJITコンパイルが関連しているなら、Julia特有の興味深い話題になり得ると踏んで質問しています。

私の現時点での知識ではこれ以上調べようがないと感じたのでネタにすることにしました。

Iterator.flattenのソースコードさえ読んでいない人は多分答えを出せない。私は読みました。

タグ:

posted at 02:24:44

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@eco_tetsu この問題はこのスレッド中の私の失敗例の話との関連で持ち出したものです。

collect(Iterators.flatten(~))

で生じるメモリ割当は

* JITコンパイル時
* コンパイル後の実行時

の両方で生じ得ます。

私が今晩の失敗例ではJITコンパイルの繰り返しが律速段階になっているっぽい。

タグ:

posted at 02:21:46

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@eco_tetsu sumの側は問題にしていません。

collectの結果出来上がる配列のサイズは

約8×200万バイト = 15.26MiB

です。この分だけにメモリ割当はcollectで必ず生じる。

問題にしているのは

 どうしてIterators.flattenのみがcollectで
 巨大なメモリ割当を必要とする場合が出て来てしまうのか?

です。

タグ:

posted at 02:18:34

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語

シード値で666っての結構見る(笑)

私は 464937337564 という物騒なシード血を使うことがある。

タグ: Julia言語

posted at 02:13:05

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 似たようなことをしてみた↓

nbviewer.jupyter.org/gist/genkuroki...

length(x)=10^6のとき

35ms mean(@ views x[1:N] .* x[k:N+k-1])
15ms mean(i->x[i]*x[i+k-1], 1:N)
10ms mean(x[i]*x[i+k-1] for i in 1:N)
1.3ms @ views dot(x[1:N], x[k:N+k-1])/N

LinearAlgebra. dot が強い! twitter.com/mathsorcerer/s... pic.twitter.com/ODr0ygKEYw

タグ: Julia言語

posted at 02:11:03

エコ鉄 @eco_tetsu

20年9月15日

@genkuroki メモリーへの割り当てが原因.

collect( )をすると実際にメモリに割り当てられます.
btime の出力で,使用メモリが 7.63 MiB となっています.
一方で,Range や Iterator の場合はメモリ割り当てがないので 0MiB です.

メモリに実態を作るための時間が答えです. pic.twitter.com/FZnw2uR2jn

タグ:

posted at 02:10:11

Erik Engheim @erikengheim

20年9月15日

@DanielOCL @tymwol Ok I am not a #Python expert, but that is generally not a good idea as far as I know, since imported functions can overwrite existing ones. You must be much more careful about name collisions in Python than in #JuliaLang. Julia doesn't overwrite, and warns of name collision.

タグ: JuliaLang Python

posted at 01:34:21

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語

a, bをVectorのようなものとするとき、aとbを連結してVectorを作るのがvcat(a,b)です。

私のCatは単にa,bをstructの中に格納しただけで、まるでVectorのように見えるようにしてあります。

私のCat性質はvcatとIterators.flattenの中間。

nbviewer.jupyter.org/gist/genkuroki... twitter.com/cometscome_phy... pic.twitter.com/wKHIHwPlJO

タグ: Julia言語

posted at 01:25:26

Kaz Muzik @kazmuzik

20年9月15日

Python/Pandasで適当に書いて、大きなデータを処理すると、長時間かかることがあるので、Julia言語やこの「JuliaDB」も試してみたい。juliadb.org twitter.com/LighthouselabP...

タグ:

posted at 00:56:44

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 近似的な球体上に住んでいる我々が見ることができない様子を見たい。

タグ: 数楽

posted at 00:56:37

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 検索すれば出て来ると思いますが、この話題はツイッターですでに何度もしていて、

 放物線に囲まれた大陸が地平線に接する様子のCGが欲しい

という話もしたはず。美しい大陸ならさらによい。

今ならJuliaを使って自分で描けるんじゃないか?

個人的には「芸術家」の作品を見たい。

タグ: 数楽

posted at 00:55:45

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 実射影平面上の二次曲線について

放物線⇔無限遠射影直線と接する

であることは、絵心のある人であれば、数式の助けを借りずに、絵を描くだけで認識できると思います。

画板上に放物線は地平線に接する楕円として描かれるはずです。

私も手で頑張って描いて納得できました! twitter.com/genkuroki/stat...

タグ: 数楽

posted at 00:52:35

OpenSourcES @opensourcesblog

20年9月15日

This is so satisfying to watch.
It's not fully implemented yet but one day it will be part of Javis :)
#JuliaLang #Transpose #Animation
Watch & Star: github.com/Wikunia/Javis.jl pic.twitter.com/VQMYvsanGW

タグ: Animation JuliaLang Transpose

posted at 00:50:26

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 このスレッドを最初から読めば、高木貞治『解析概論』の不定積分の求め方の節を読むだけでも、大学受験で少し有利になったり、受験生への数学の指導において本質を突いた説明が可能になることが分かると思います。

タグ: 数楽

posted at 00:49:11

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 例えば、双曲線y²=x²+1は無限遠射影直線と

(∞, ∞) = (-∞,-∞)
(∞,-∞) = (-∞, ∞)

の2点で交わります。後者のを通る直線と交わるy²=x²+1上の別の点を考えることが

t = x + y (= √x + √(x²+1))

という変数変換の正体になっています。

高木貞治『解析概論』の読者にとっては常識?

タグ: 数楽

posted at 00:45:54

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 実射影平面の無限遠点全体は実射影直線をなすのですが、3つの別のものに見えていた二次曲線達は単に無限遠射影直線との交わり方の違いしかないことが分かります。

無限遠射影直線と

交わらない⇔楕円
接する⇔放物線
2点で交わる⇔双曲線

タグ: 数楽

posted at 00:38:56

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 以前、オープンキャンパスでもネタにしたのですが、

 無限に広い平面上に描かれた放物線(や双曲線や楕円)を
 写生するとどのような絵が描かれるか?

という問題を何でもありで解くと理解が進むと思います。

実射影平面上では、楕円、放物線、双曲線が「統一」されます!

タグ: 数楽

posted at 00:35:21

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#数楽 これは、高校数学+α程度で理解できる

 実射影平面上の二次曲線の代数幾何

に関する話だと思えます。実平面に無限遠(地平線)を付け加えて、180度反対側の無限遠点を同一視してできるのが実射影平面です。絵を描くときには地平線も描くので、これが現実で役に立つ幾何になっています。

タグ: 数楽

posted at 00:32:44

黒木玄 Gen Kuroki @genkuroki

20年9月15日

@eco_tetsu その「相性」の部分についての具体的な説明が欲しいです。

私は繰り返し「論よりコード」と言っている。

「Juliaのリポジトリのコードの~の~行目から~行目にある~について理解すればわかる。要点は~です」

のようなコードに基づく説明を期待。証拠を示すことが大事。

タグ:

posted at 00:27:05

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 しかも、ユーザー側は教科書にある数式のほとんど引き写しのコードでそういうことを実現できる。

誰か凄い人が優れたライブラリを書いてJuliaで使えるようにしてくれた途端に、教科書的な数式の通りに実装したコードに変更を施すことなく、新しいライブラリをその函数で使用できる!

タグ: Julia言語

posted at 00:21:16

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 Juliaに新しい線形代数のライブラリFooが組み込まれた場合には、

 FooVectorやFooMatrix型が定義されている

はずなので、

 ユーザー側は自分が書いた函数のコードを一切変更せず



 FooVectorやFooMatrix型の引数を函数に与えるだけ



 線形代数ライブラリFoo

を利用できる。

タグ: Julia言語

posted at 00:17:33

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語

foo. linalg. cholesky

とは異なる

bar. linalg. cholesky

を使いたい場合に、前者を後者に書き直さなければいけないようでは非常に不便です。

タグ: Julia言語

posted at 00:13:09

黒木玄 Gen Kuroki @genkuroki

20年9月15日

#Julia言語 これは非常に良い例。

Juliaでは、例えば、

自分で作った線形代数のライブラリに関する型を用意して、
Juliaの線形代数のフレームワークで
必要なメソッドを定義してやれば、
添付画像のコードのままで
自分で作った線形代数のライブラリを使った計算を実行

してくれます。続く twitter.com/tymwol/status/... pic.twitter.com/OgjHDCNQlo

タグ: Julia言語

posted at 00:09:46

かんずめ @ak48379

20年9月15日

技術書典オンラインマーケットでEREX工房の「プログラミング言語Julia」を購入しました! #技術書典 techbookfest.org/product/666172...

タグ: 技術書典

posted at 00:07:41

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

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

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

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

送信中

送信に失敗しました

タグを編集しました