X



Julia Juno Jupyter part1 [無断転載禁止]©2ch.net
0102デフォルトの名無しさん
垢版 |
2016/07/23(土) 11:05:54.45ID:+Jc7SqHC
x = UInt32(0x12345678)
a = pointer_to_array(convert(Ptr{UInt8}, pointer_from_objref(x)), 4)
a[2] = 51
println(@sprintf "%08X" x) # 0x12343378
0103デフォルトの名無しさん
垢版 |
2016/07/23(土) 11:07:52.09ID:+Jc7SqHC
immutable TT
a::UInt16
b::UInt16
end
x = UInt32(0x12345678)
a = pointer_to_array(convert(Ptr{TT}, pointer_from_objref(x)), 1)
println(a) # [TT(0x5678,0x1234)]
a[].a = 0xaabb # ERROR: type TT is immutable
0104デフォルトの名無しさん
垢版 |
2016/07/23(土) 11:12:28.69ID:+Jc7SqHC
type XX
a::UInt16
b::UInt16
end
x = UInt32(0x12345678)
# ↑ここまでは動く
a = pointer_to_array(convert(Ptr{XX}, pointer_from_objref(x)), 1)
# ↑インタプリタ環境だとこれを実行した時点で環境ごと落ちる (下へ行くケースあり)
println("reach here")
println(a)
# インタプリタの外から julia hoge.jl で実行したときは println(a) まで実行すると落ちる
0105デフォルトの名無しさん
垢版 |
2016/07/23(土) 11:13:02.17ID:+Jc7SqHC
なぜでしょう?(unsafeなことしてるのは判ってるのですが・・・)
0106デフォルトの名無しさん
垢版 |
2016/07/23(土) 12:22:24.60ID:lFeXmVIf
なぜって自分でbitstypeでもimmutableでもないって分かっている書きぶりじゃん
その上で聞いているならソース読め
0107デフォルトの名無しさん
垢版 |
2016/07/23(土) 17:00:36.64ID:6lYjBmg5
へー Julia ってこういう壊れ方するのかー

julia> n = UInt32(3)
0x00000003

julia> p = Ptr{UInt32}(pointer_from_objref(n))
Ptr{UInt32} @0x06e474f0

julia> pointer_to_array(p, 1)
1-element Array{UInt32,1}:
0x00000003

julia> UInt32(3)
0x00000003

julia> pointer_to_array(p, 1)[] = 9
9

julia> UInt32(3)
0x00000009
0108デフォルトの名無しさん
垢版 |
2016/07/23(土) 17:11:02.05ID:6lYjBmg5
こうなってるのかー
気付かんかったわー

julia> e = UInt32(11)
0x0000000b

julia> f = UInt32(11)
0x0000000b

julia> p = Ptr{UInt32}(pointer_from_objref(e))
Ptr{UInt32} @0x06e47770

julia> pointer_to_array(p, 1)
1-element Array{UInt32,1}:
0x0000000b

julia> UInt32(11)
0x0000000b

julia> pointer_to_array(p, 1)[] = 17
17

julia> UInt32(11)
0x00000011

julia> f
0x00000011
0111デフォルトの名無しさん
垢版 |
2016/07/25(月) 18:13:55.98ID:r9xhFlm6
Cのunionと同じような機能ってreinterpret以外にないの?
0112デフォルトの名無しさん
垢版 |
2016/07/26(火) 10:16:34.91ID:oKnTJYes
transpose と ctranspose って何が違うん?
0114デフォルトの名無しさん
垢版 |
2016/07/27(水) 09:34:21.46ID:nl1cCFz0
>>107-108
julia> 100
100

julia> 100 - 23
77

julia> 100 + 23
123

julia> pointer_to_array(Ptr{Int}(pointer_from_objref(100)), 1)[] = 119
119

julia> 100
119

julia> 100 - 19
119 # ← ここだけ納得いかない

julia> 100 + 19
138
0118デフォルトの名無しさん
垢版 |
2016/08/01(月) 12:23:48.40ID:6PNy08If
C++AMPもそうだったんだけど
llvmがバージョンアップするとC++AMPの仕様も変わったりして
誰も安定してC++AMPを利用できなったので
C++AMPは消えたと思う

juliaがllvm使ってるのは嫌な予感しかしない
0121デフォルトの名無しさん
垢版 |
2016/08/01(月) 17:20:22.43ID:6PNy08If
llvmは安定して使うことよりもgccの妨害が目的っぽい部分があって
利用者は軽視(gccの足引っ張りが重要)

そんな印象がある
0123デフォルトの名無しさん
垢版 |
2016/08/01(月) 18:14:22.64ID:JXVULl1x
M9誤報記念
0125デフォルトの名無しさん
垢版 |
2016/08/02(火) 10:29:05.14ID:JwtZ9iAm
>>111
manual/calling-c-and-fortran-code/

Struct Type correspondences

Packed structs and union declarations are not supported by Julia.

You can get a near approximation of a union if you know, a priori,
the field that will have the greatest size (potentially including padding).
When translating your fields to Julia, declare the Julia field to be only of that type.

...

In the future, some of these restrictions may be reduced or eliminated.
0126デフォルトの名無しさん
垢版 |
2016/08/04(木) 11:46:11.27ID:8anV95gh
reinterpretとBase.boxとどっち使うのが良いんですか?
0127デフォルトの名無しさん
垢版 |
2016/08/05(金) 10:14:39.63ID:LJe/qM3f
>>79
それな
0128デフォルトの名無しさん
垢版 |
2016/08/05(金) 11:34:17.96ID:9LvdmO9z
なぜ僕らはJuliaを創ったか
http://marui.hatenablog.com/entry/20120221/1329823079

ゆるいライセンスのオープンソースで、Cの速度とRubyの動的さが欲しい。
Lispのような真のマクロが使える同図象性のある言語で、
Matlabのように分かりやすい数学の記述をしたい。
Pythonのように汎用的に使いたいし、Rの統計処理、
Perlの文字列処理、Matlabの線形代数計算も要る。
シェルのように簡単にいくつかのパーツをつなぎ合わせたい。
チョー簡単に習えて、超上級ハッカーも満足する言語。
インタラクティブに使えて、かつコンパイルできる言語が欲しい。
(そういえば、C言語の実行速度が必要だってのは言ったっけ?)

イイね!
0129デフォルトの名無しさん
垢版 |
2016/08/12(金) 14:09:58.96ID:5sOoPQZ5
マクロを入れ子で使ってるときの評価順が良く判らんな
0130デフォルトの名無しさん
垢版 |
2016/08/19(金) 20:54:44.94ID:/WxFAz6S
Juliaの継承システムってなんでgoみたいなシステムにしなかったんだろうな
0131デフォルトの名無しさん
垢版 |
2016/08/20(土) 14:07:49.70ID:cg7hw3nY
goはgoでアグレッシブすぎる気がするけど

C++とかJavaとか
結果的に抽象クラスとインターフェイスの関係が微妙になってしまったことを考えれば
Juliaの型システムは明確で合理的だと思う

あと多重ディスパッチが特徴に挙げられるくらいなので
ロジック・実装の散逸を防ぐ思想があるんだろう

具象型が継承不可な点は最適化の面でも有利に働くはず
0132デフォルトの名無しさん
垢版 |
2016/08/20(土) 14:58:26.80ID:OZEoChm6
コンストラクタがきもい
0134デフォルトの名無しさん
垢版 |
2016/08/24(水) 20:40:56.81ID:jKhJVkcK
@timeとか@showとか便利すぎて逆になんでpythonにはないのかと悲しくなるレベル
0135デフォルトの名無しさん
垢版 |
2016/09/01(木) 20:24:06.33ID:YPWf/agv
一切カプセル化出来ないから無能を含む大規模プロジェクトには使えないな
0136デフォルトの名無しさん
垢版 |
2016/09/02(金) 07:56:04.86ID:epTjFeL3
intをdepricated にして代わりに l->[parse(Int, s) for s=l] を使えって言ってくるのはマジで基地外じみてる
0138デフォルトの名無しさん
垢版 |
2016/09/02(金) 15:34:46.39ID:tIJhbCeG
3次元の配列を効率よく初期化するにはどうすれば良いでしょうか?
0139デフォルトの名無しさん
垢版 |
2016/09/02(金) 20:42:33.40ID:ZxHIRzh+
[f(I,j,k) for i=1:n, j=1:m, l=1:o]
Pythonとは訳が違う便利さ
0142デフォルトの名無しさん
垢版 |
2016/09/03(土) 22:13:37.19ID:b+GHqttd
>>140
安価ミスか?何を聞かれてるのかわからん
0143デフォルトの名無しさん
垢版 |
2016/09/13(火) 10:04:52.46ID:igQxNPoH
>>141
マクロ使えば行けるけど見た目は良くないな

Juliaってcolumn majorのくせに多次元配列のconcatenation は左の添字からやろうとするの本当に謎
0144デフォルトの名無しさん
垢版 |
2016/09/13(火) 20:37:02.00ID:roYGy53F
>>140
すまん、intをdeprecate にされたことがまず辛い。消すなら消すで同じくらい短くかける別の関数を用意してほしい
毎回これを書くのは嫌だし、自分でこれの別名をつけるのはなんか違う
0145デフォルトの名無しさん
垢版 |
2016/09/14(水) 13:14:08.84ID:RIACRRsP
parseint なんで死んでもうたん
0146デフォルトの名無しさん
垢版 |
2016/09/19(月) 18:47:11.41ID:4df2MR9Z
君死に勿給ふこと
0147デフォルトの名無しさん
垢版 |
2016/09/20(火) 11:35:12.98ID:fyTX+ASc
IPython - 対話的にPythonプログラミングができるコマンドラインツールです。とはいえ初心者だと何をどうしていいかわからないかも
Jupyter Notebook - IPythonをブラウザ上で実行するツールです(全然それだけじゃないけど) 。とっかかりとして一番のおすすめ。
様々なサンプルがこのツールのNotebook形式で配布されており、学習効率もいいです。

とりあえずVisual StudioとPycharmがIDEで, 前者はpythonに限定しないIDE,
後者はpython用のIDEですね. ※Visual Studioはpythonに対応してるとの事です.
アナコンダはパッケージのインストーラーで, IpythonとJupyterも一緒に
ダウンロードされますよね.
JupyterもIDEではないのですか?

IDEの定義によるんだろうけど
JupyterはIDEの条件を満たしてはなさそう
ノート機能が付いたEditorに近いのかな

私のとらえ方ではIDEは3ペイン・2ペイン構成のデスクトップアプリで
IPythonをブラウザ上で(シングルペインではあるが)IDE「的」に使えるのがJupyterですね
Anacondaにはpython用IDEデスクトップアプリのSpyderというものも入ってますので
インストール後両方起動されると、おおよその雰囲気の違いがわかると思います

Jupyter-IPython は Mathematica を目指してる。
Kernel + Notebook の構造。
IDE とはまた違うかな。
0149デフォルトの名無しさん
垢版 |
2016/09/20(火) 18:24:31.81ID:9mjD9CdW
0.5正式版出た?
0150デフォルトの名無しさん
垢版 |
2016/09/23(金) 22:24:53.87ID:kOClgCb6
ジェネレータ式はトリッキーなマクロが要らなくなっていいな

PROGRAM_FILEはやっとか
0151デフォルトの名無しさん
垢版 |
2016/09/23(金) 23:25:21.12ID:88XXmyIP
この調子で引数に_を使った時に部分適用になるあれもこないかな
0152デフォルトの名無しさん
垢版 |
2016/09/27(火) 10:01:40.02ID:pOx3jF2U
Julia0.5正式に出たっていうのになんだこの話題なってなさは
0153デフォルトの名無しさん
垢版 |
2016/10/20(木) 11:50:05.14ID:lWKh0RTB
FORTRAN2016
0154デフォルトの名無しさん
垢版 |
2016/11/03(木) 03:38:05.60ID:iYejUQc8
煽り抜きでダメだなもう
ガバナンスも利いてないしめちゃくちゃ
文法も思想もとっちらかったクソ言語に成り果ててる
0156デフォルトの名無しさん
垢版 |
2016/11/03(木) 08:35:32.33ID:Qx64j3d5
>>154
ほんまこれ。迷走しすぎて言語仕様めちゃくちゃ
0158デフォルトの名無しさん
垢版 |
2016/11/10(木) 00:39:14.58ID:il4z8U8D
pythonでよくね
0159デフォルトの名無しさん
垢版 |
2016/12/02(金) 20:17:55.46ID:4z6Tns60
type Pos
x::Float64
y::Float64
end

Base.+(a::Pos, b::Pos) = Pos(a.x + b.x, a.y + b.y)

ってやると(a::Pos, b::Pos) is not a valid function
ってエラー吐くのですが、オリジナルの型用の演算子定義するにはどうすればいいのでしょうか?
0160デフォルトの名無しさん
垢版 |
2016/12/03(土) 14:42:15.35ID:iU+ignEA
(+)(a::Pos, b::Pos) = Pos(a.x + b.x, a.y + b.y)
0162デフォルトの名無しさん
垢版 |
2016/12/03(土) 22:57:39.15ID:MCWCirTG
>>160をやると普通の+が使えなくなり、
>>161をやるとsyntax: invalid function name ":+"
ってなりました……
0165デフォルトの名無しさん
垢版 |
2016/12/18(日) 17:43:44.11ID:ZqV+jY/A
Tk.jl わろす
0166デフォルトの名無しさん
垢版 |
2016/12/24(土) 06:10:21.30ID:WW/1/xEY
3ヶ月程前からPython+Numpy 覚えながら前から作ろうと思っていたプログラム書き始めていたのですが、
最近Juliaを知って日本語で書かれたドキュメント読み切って中身知ったら凄く綺麗で良い言語に見えてきて、
むしろPythonの方はダメな部分を補う為に無理やりNumpyをくっつけているようにすら見えてきたのですが、
その認識は間違ってないでしょうか?
書きかけのプログラムをPython+NumpyやめてJuliaを覚える方にシフトしようかある程度Pythonを覚えてきたこともあって悩んでいます。
0167デフォルトの名無しさん
垢版 |
2016/12/24(土) 12:34:17.22ID:p4lqfCaM
めりくり
0168デフォルトの名無しさん
垢版 |
2016/12/24(土) 15:53:34.28ID:8EM69YXY
numpyで充分
0169デフォルトの名無しさん
垢版 |
2016/12/26(月) 19:37:06.22ID:/4K9rjX9
Juliaは上手く統合されてると思うけど、まだ色々足りないでしょ
自分でバンバン書ける人ならともかく、覚え始めとかならPythonやっとけ
0170デフォルトの名無しさん
垢版 |
2016/12/26(月) 20:42:06.86ID:aoxifvbm
JuliaスレでJuliaをディスるな��
0171デフォルトの名無しさん
垢版 |
2016/12/27(火) 14:39:42.88ID:ov9/Tp6R
disってるようには思わないな
正当な批判はちゃんと批判として受け入れるべき
0173デフォルトの名無しさん
垢版 |
2016/12/27(火) 20:54:54.62ID:6hdNCFW6
配列が線形代数向けに整備されてる言語ってJuliaとRくらいのもんか?
0175デフォルトの名無しさん
垢版 |
2016/12/27(火) 21:16:00.31ID:6hdNCFW6
Jはちょっと……
0177デフォルトの名無しさん
垢版 |
2016/12/28(水) 00:10:38.62ID:h6cUbtbL
配列を使って高速に内積とか行列演算とか出来るということ
C++のEigenとかPythonのNumpyにあたる機能がJuliaでは標準の配列でサポートされている
0178デフォルトの名無しさん
垢版 |
2016/12/28(水) 01:58:11.43ID:Pt7cMAGf
そんなもん書いたら終わりじゃん。
宣言型だとか、原始再帰関数がどうとか言い出すならともかく。
0179デフォルトの名無しさん
垢版 |
2016/12/28(水) 11:27:50.75ID:h6cUbtbL
>>178
いちいち自分で外積内積アダマール積、逆行列行列式特異値分解とかLAPACKラッパー書いていくの?
0181デフォルトの名無しさん
垢版 |
2016/12/28(水) 12:24:37.91ID:kFL7wfb2
>>177
勝手にCUDAってくれたりするってこと?
0182デフォルトの名無しさん
垢版 |
2016/12/28(水) 12:25:24.34ID:kFL7wfb2
>>179
一回書いたら終わりだろ
0183デフォルトの名無しさん
垢版 |
2016/12/28(水) 12:59:27.07ID:/YvbcywK
>>182
最近の言語は大体色々楽するために発展して来てるのに、その発想はストイックすぎるだろ。俺はそれをD言語でやろうとして途中で面倒になってやめたわ。ライブラリの存在を全否定するような発想はC言語とFortranの世界の中でお願いします。

それに線形代数よく分かってなくてもJuliaの関数を色々使ってみて理解が進むという側面もあるから、出来るやつが書いた使いやすい線形代数APIが標準で搭載されている言語は重要だと思うわ

ちなみにJuliaでのcudaのサポートはまだまだこれから

>>180
すまんが意味がわからんかった
0184デフォルトの名無しさん
垢版 |
2016/12/28(水) 13:10:29.72ID:45reyBmE
>それに線形代数よく分かってなくてもJuliaの関数を色々使ってみて理解が進むという側面もあるから

こんなとこで高卒自慢ですねわかります
0185デフォルトの名無しさん
垢版 |
2016/12/28(水) 13:31:41.63ID:/YvbcywK
線形代数の動きやどんな関数があるかは大学でもMapleやMathematicaで実際に動かして実習するというのに、それがJuliaに変わるだけで高卒自慢と捉えるのは数学ガチ勢か老害か効率悪いアホかただの煽り野郎かのどれかだな
0187デフォルトの名無しさん
垢版 |
2016/12/28(水) 16:24:36.07ID:1TyJaTqj
166ですが、結局Julia漬けの毎日になってしまいました。
昔Cでアルゴリズムを書いて学んだのですが、それをそのままJuliaで書いて練習してます。いくつか言語の経験はあったのですが、Cの組み込みをやっていたのもあって、型をきちんと指定出来る上にCの構造体のように書けるのでとても扱いやすくて良いです。
0189デフォルトの名無しさん
垢版 |
2016/12/28(水) 18:51:49.10ID:XL99jgpe
>>186
オープンソースなんだから見ればいいじゃん
0190デフォルトの名無しさん
垢版 |
2016/12/28(水) 19:01:40.76ID:/YvbcywK
>>186
おまえは自分が使ってるもののソース全部見てんのか?
0193デフォルトの名無しさん
垢版 |
2016/12/29(木) 00:35:10.76ID:rvAXIAg7
>>191
LAPACK使わないの?MKL使わないの?それで速くてまともなプログラムを一から十までちゃんと作って完成させられるのなら相当凄いな

でも今時は量子化学ソフトの開発者だって当然のように他人のコード混ぜるし、量子化学ソフト使ってる人は使ってるプログラムのアルゴリズムの詳細までは知らないことが多い。
数学の教授だってMathematicaの実装知らずに使ってるよ。統計の学者だってRの中身全部把握してる訳じゃない。
そもそも実験屋はコードが何かもよく分かってなかったりするけど出来合いのアプリケーションで集計して論文を書く。どこかで妥協して人を信用しないと新しいものを作れる段階に行けないことが多いから。
だから、実装見てない関数で集計するのがキチガイの所業だと思う方がキチガイだと思うぞ
0194デフォルトの名無しさん
垢版 |
2016/12/29(木) 00:40:53.56ID:5yPVbf0y
>>193
お金もらってるしね。
実験屋のデータを意味のあるものにするのが仕事だから。
Rの中身は全部読んでるし、割と枯れたものに修正入れて全部検証してるよ。
そんなのは実験屋であって、研究者でもないし、
研究者は実験屋でもない。
妥協と信頼は金で買うんだよ、普通の研究所って。
こんなとこでママゴトみたいな言い分聞くとは思わなかったな。
0195デフォルトの名無しさん
垢版 |
2016/12/29(木) 01:12:28.24ID:rvAXIAg7
>>194
じゃあ一体何のためにこの世にRは存在しているの?
0197デフォルトの名無しさん
垢版 |
2016/12/29(木) 01:17:59.94ID:rvAXIAg7
>>196
Rを使って研究している計量経済学の教授で、Rの内部実装をちゃんと読んでない教授はキチガイ?
0198デフォルトの名無しさん
垢版 |
2016/12/29(木) 01:33:55.87ID:rvAXIAg7
>>194
この世にはシミュレーションソフトを回すことを専門とする教授が一定数いるんだけど彼らはGaussianの内部実装を全部読むのは無理という人ばかりだよ。彼らはキチガイ?
0199デフォルトの名無しさん
垢版 |
2016/12/29(木) 02:33:47.93ID:RruPXahs
>>197
知ってる限りの学者は、ソース読んでる。
マクロ系ばっかりだけど。

>>198
そんなもん「オペレータ」だよ。
活字拾うジョバンニと同じ。
ただしその人らが、Gaussianに限らず、方程式として書いたものを、所内のQCに投げて、オッケーですと確認する事を怠らなければ研究者だろうね。
大体は組み込みの関数やら標準ライブラリはオーバースペック。しかもバージョンアップある。
なら内製したほうがマシ。
0200デフォルトの名無しさん
垢版 |
2016/12/29(木) 02:45:49.88ID:rvAXIAg7
>>199
大学の研究室にQCはいないよ。標準ライブラリの代わりを再開発してるような手数もないよ。めちゃくちゃ言うのやめてくれる?
0201デフォルトの名無しさん
垢版 |
2016/12/29(木) 02:59:11.48ID:vM8XqIT4
標準ライブラリの存在意義を全否定する典型的なキチガイおるな
一時期C++スレに沸いてたのと同一人物か?
レスを投稿する


ニューススポーツなんでも実況