問題タブ [julia]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matplotlib - JuliaのPyPlotで「サイトという名前のモジュールがありません」というエラーが発生する
今日からジュリアと遊び始めました。始めるために、私はスティーブンのMIT turorials に従っていました。ただし、プロットセクションに到達したときに、次のように PyPlot をインポートしようとしました。
ただし、次のエラーが発生しました。
私は Python インストールとして Canopy を使用しているため、pyplot に必要なすべてのモジュールは既にマシン上で利用可能になっているはずです。
NB チュートリアルで示されているように、Julia で Pkg.add("PyPlot") を使用して、Julia にも pyplot をインストールしました。
regex - Julia で正規表現に参加する
正規表現コンテンツのみを処理する(つまり、修飾子をコンテンツの一部であるかのように扱わない)方法はありますかjoin
(そして一般的に操作します)。目的の出力は次のとおりです。Regex
r
z
julia - Juliaでまだ定義されていない場合にのみ割り当てます
変数が未定義 (または偽) の場合にのみ変数に代入するための単純な Julia 構文はありますか? Rubyの のようなものを意味しますx ||= NEW_VALUE
。試してみx || x=NEW_VALUE
ましたが、エラーがスローされます。簡単な構文がなければ、変数が定義されているかどうかを確認するためにどの関数を使用できますか?
julia - 間違った型を使用する DataFrames パッケージ関数?
JuliaStudio を使用して DataFrames パッケージを問題なくインストールしました。次に、次のコードを使用して、ここで簡単な例を複製しようとしました
このエラーが発生しました:
packages フォルダーで、ファイルio.jlを開くと、読み取り可能な型が表示されました。上記のエラーに示されているものと一致しないことが予想されます。
そこで、readtable!
定義の 2 番目と 3 番目のタイプをそれぞれIOStream
とに変更してInt64
、上記のエラーが示していたものと一致させました。それから私は実行しようとしました
もう一度、同じエラーが発生しましたが、別の機能の場合:
readtable()
すべてのパッケージ関数のタイプを編集する必要なく、ファイルを正常に読み取る関数を取得するにはどうすればよいですか?
performance - Fortran および Python と比較した Julia (Julia-lang) のパフォーマンス
言語をテストするために、Julia の動きの渦を計算してプロットする簡単なプログラムを採用しました。また、特別な理由もなく Python で記述しました。
(免責事項:1.私が読んだstackoverflowのすべてのパフォーマンス比較は、包括的/正確/適切に書かれていない/関連性がないなどの理由で非難されます.-これが実際の比較であるふりをしているわけではありません。 2. Python が最適化され、Cython などで実装される可能性があることは知っていますが、それはこの議論の一部ではなく、Julia と Python の同等の機能の参照用にここにあるだけです。)
コードとパフォーマンス結果はgist で確認できます。
Julia のパフォーマンスは、Fortran よりも大幅に遅くなります。計算自体の実行にかかる時間は次のとおりです (50000 タイム ステップ)。
Julia は Fortran よりもはるかに遅く (~44 倍遅い)、ギャップは狭まりますが、10 倍の時間ステップで依然として有意です( 0.50s vs 15.24s
)。
これらの結果は、julia のホームページに表示されている結果とは大きく異なります。私は何を間違っていますか?Julia を修正して大幅に速くすることはできますか?
Julia Performance Tipsページと、Julia ホームページの比較の背後にあるコードをざっと読みましたが、修正すべき点は何もありません。
また興味深いことに、Julia は PyPlot の読み込みが非常に遅く ( 5secs
ish!!)、テキスト ファイルの読み取りは Python よりもはるかに遅いです。これらを改善するために何かできることはありますか?
上記の時間は、Julia と Python の読み込み時間を示していないことに注意してください。これは、AFAIK の計算にかかった生の時間です。コードを参照してください。fortran の場合はすべてです。いずれの場合も、速度を比較できるように、大まかにプロットをオフにしています。
コンピューター: Intel i7-3770、16GB RAM、SSD HD、OS: Ubuntu 13.10 64 ビット、Fortran: gfortran、GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1、Julia: バージョン 0.3.0-prerelease+396 (2013-12-12 00:18 UTC)、コミット c5364db* (0 日古いマスター)、x86_64-linux-gnu、Python: 2.7.5+
アップデート:
Ivarne のアドバイスに基づいて、Julia スクリプトを書き直しました (上記の要旨で更新)。関数で単調な作業をカプセル化し、すべての型を宣言し、行列のさまざまな要素を必要に応じてさまざまな配列に分割します。(私は Float32 を試してみたので、かなりの数の場所に Float64 を含めましたが、ほとんどの場合はそうではありませんでした)。
結果は次のとおりです。
50,000
時間ステップ:
500,000
時間ステップ:
結論は:
ジュリアをかなりスピードアップできます。
Julia のパフォーマンスの測定方法によっては、Julia の見た目の速度に大きな影響を与える可能性があります。
regex - キャプチャされた数に基づく PCRE の繰り返し -- (\d)(.{\1})
この単純なパターンがうまくいくかもしれないと思いました:
しかし、いいえ。
これは Perl では簡単ですが、私は Julia で PCRE を使用しています。これは、その場で式を変更するコードを埋め込むのが難しいことを意味します。