タグ付けされた質問 「julia」

Juliaは、テクニカルコンピューティング向けの高レベルで高性能な動的プログラミング言語です。RやPythonなどの言語の使いやすさとCやFortranのパフォーマンスを組み合わせることで、2言語の問題に対処しています。

3
PythonとJuliaの速度の比較
私はこれら2つのスニペットを比較して、1秒間にいくつの反復を実行できるかを確認しようとしました。Juliaは250万回の反復を達成し、Python 400万回を達成したことがわかりました。ジュリアはもっと速くなるはずではありません。または、これらの2つのスニペットは同等ではないでしょうか? Python: t1 = time.time() i = 0 while True: i += 1 if time.time() - t1 >= 1: break ジュリア: function f() i = 0 t1 = now() while true i += 1 if now() - t1 >= Base.Dates.Millisecond(1000) break end end return i end
9 python  julia 

2
ジュリアでのシステム信号傍受
Linuxで動作するJuliaプログラムでは、コンソールウィンドウのサイズが変更されたときに専用のアクションを起動する必要があります。では、ジュリアでは、システム信号SIGWINCH(ウィンドウのサイズ変更)をインターセプトして、必要なアクションを実行する関数をそれにアタッチできますか? Adaでは、それを宣言するのはかなり簡単です。 protected Signalhandler is procedure Handlewindowresizing; pragma Attach_Handler (Handlewindowresizing, SIGWINCH); end Signalhandler; SCHEMERのアイデアに基づく暫定的な解決策:SIGWINCH割り込み監視を実行するCライブラリを使用しようとします。 myLibrary.h void Winresize (void Sig_Handler()); myLibrary.c #include "myLibrary.h" #include <stdio.h> #include <stdlib.h> #include <signal.h> void Winresize(void sig_handler (void)) { signal(SIGWINCH, sig_handler); } コンパイルとライブラリの準備 gcc -c -Wall -fPIC myLibrary.c gcc -shared -fPIC -o myLibrary.so myLibrary.o C-Libraryを使用するJuliaのプログラム: function …
9 julia  signals  ada 


1
xor(⊻)演算子を簡単に入力する方法は?
「ジュリアでxor'-演算子は、次のシンボルで定義されます。⊻ 私は間違っていないよ場合は、これも表す記号のみである『XOR』を。 これをどのように便利に入力するのですか? 私はそれを自分のコードにコピーするか貼り付けるべきですか、それともユニコード表現を覚えているでしょうか?
9 julia  xor 

1
Juliaでバイナリファイルを読み取る方法
私はMatlabを使用しており、いくつかのコードをJuliaに変換しようとしています。 % Load data in Matlab fileID = fopen('./data_6000x3199.bin'); Data = fread(fileID,[6000,3199],'single'); fclose(fildID); ただし、Juliaコードでこの単一タイプのバイナリファイルを読み取る方法はわかりません。誰かがこれを手伝ってくれませんか?
9 julia 

1
飛び散ったクワーグのフィールドからキーワード引数を取得するにはどうすればよいですか?
のような関数シグネチャがある場合f(args...; kwargs...)、どのようにして特定のキーワードを取得できkwargsますか?ナイーブ入力 kwargs.xは機能しません: julia> f(args...; kwargs...) = kwargs.x f (generic function with 1 method) julia> f(x=1) ERROR: type Pairs has no field x Stacktrace: [1] getproperty(::Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:x,),Tuple{Int64}}}, ::Symbol) at ./Base.jl:20 [2] #f#7(::Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:x,),Tuple{Int64}}}, ::typeof(f)) at ./REPL[2]:1 [3] (::var"#kw##f")(::NamedTuple{(:x,),Tuple{Int64}}, ::typeof(f)) at ./none:0 [4] top-level scope at REPL[3]:1 この質問は、#helpdeskのJuliaLang Slackチャネルに表示されました。非常に役立つジュリアスラックへの自動招待については、https: //slackinvite.julialang.orgに入力するだけです
9 julia 

2
Julia実行可能ファイルのJITオーバーヘッドを排除する方法(MWEを使用)
ジャストインタイムのコンパイルオーバーヘッドを排除する実行可能ファイルを作成することを期待して、PackageCompilerを使用しています。 ドキュメントにはjulia_main、プログラムのロジックを呼び出す関数を定義し、プリコンパイルしたい関数を呼び出すスクリプトである「スヌープファイル」を記述する必要があると説明されています。私julia_mainは単一の引数、つまり分析される入力データを含むファイルの場所を取ります。だから、物事をシンプルに保つために、私のsnoopファイルjulia_mainは、特定の入力ファイルで1つの呼び出しを行うだけです。そのため、同じ入力ファイルに対して実行すると、生成された実行可能ファイルが素晴らしく高速で(コンパイルのオーバーヘッドなしで)実行されることを期待しています。 しかし、悲しいかな、それは私が見るものではありません。新しいJuliaインスタンスでjulia_mainは、最初の実行に約74秒、後続の実行に約4.5秒かかります。実行可能ファイルは、呼び出されるたびに約50秒かかります。 build_executable関数の使用は次のようになります。 julia> using PackageCompiler julia> build_executable("d:/philip/source/script/julia/jsource/SCRiPTMain.jl", "testexecutable", builddir = "d:/temp/builddir4", snoopfile = "d:/philip/source/script/julia/jsource/snoop.jl", compile = "all", verbose = true) 質問: 上記の引数は、JITオーバーヘッドのない実行可能ファイルの私の目的を達成するために正しいですか? 他に何かアドバイスはありますか? への呼び出しに応じて、次のことが起こりbuild_executableます。Start of snoop file execution!to からの行はEnd of snoop file execution!私のコードによって出力されます。 Julia program file: "d:\philip\source\script\julia\jsource\SCRiPTMain.jl" C program file: "C:\Users\Philip\.julia\packages\PackageCompiler\CJQcs\examples\program.c" Build directory: "d:\temp\builddir4" Executing snoopfile: "d:\philip\source\script\julia\jsource\snoop.jl" Start …


2
Google Colabのジュリア
JuliaをGoogle Colabでセットアップしようとしています。https://discourse.julialang.org/t/julia-on-google-colab-free-gpu-accelerated-shareable-notebooks/15319のようなインストール手順に従っています。それにもかかわらず、私はジュリアを起動することができません。 JuliaをGoogle Colabで使用しようとしています。私は次の手順に従いました: CUDAをインストールする !wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb !dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb !apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub !apt update -q !apt install cuda gcc-6 g++-6 -y -q !ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc !ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++ Julia 1.2.0をインストールする !curl -sSL "https://julialang-s3.julialang.org/bin/linux/x64/1.2/julia-1.2.0-linux-x86_64.tar.gz" -o julia.tar.gz !tar -xzf julia.tar.gz -C /usr --strip-components 1 !rm -rf julia.tar.gz* !julia -e …

1
配列の型を取得
配列内の型を取得するにはどうすればよいですか? a = [1,2,3] タイプを取得できます a typeof(a) Vector{Int64} でも本当に欲しいInt64。まず、初心者の回避策は typeof(a[1]) Int64 しかし、これを見るとわかるように、これは実際には正しくありません。 a = [1,2,3, missing] typeof(a) Vector{Union{Missing, Int64}} ベクトルUnion{Missing, Int64}の型はですが、最初の要素の型は typeof(a[1]) Int64 では、どのようにしてベクトル/配列のタイプを取得しますか?
8 julia 

2
JuliaでStructを削除する
複合タイプを作成しました mutable struct Person id::Int64 end これはうまくいったので、このようにタイプを拡大したい mutable struct Person id::Int64 contacts::Array{Int64} end しかし、これはであると言われていinvalid redefinition of constant Personます。 タイプを削除するにはどうすればよいですか?REPLを再起動する以外の方法はありますか?(良いと言って。)
8 julia 

1
ジュリアはC ++(LLVM)ができるのになぜこのコードを最適化しないのですか?
LLVMバージョン6.0.0でC ++コンパイラを使用する場合、次のコード bool isEven(int n) { bool ret = true; for (int i = 0; i < n; i ++) { ret = !ret; } return ret; } LLVM IRを放出します define zeroext i1 @_Z6isEveni(i32) local_unnamed_addr #0 !dbg !7 { call void @llvm.dbg.value(metadata i32 %0, metadata !14, metadata !DIExpression()), !dbg !18 …
8 julia  llvm-ir 

4
JuliaにNaN値が含まれている場合でも、2つの配列が等しいかどうかを確認するにはどうすればよいですか?
2つの配列を比較しようとしています。たまたま、配列のデータにNaN値が含まれていて、配列を値と比較するとNaN、期待した結果が得られません。 julia> a = [1,2, NaN] 3-element Array{Float64,1}: 1.0 2.0 NaN julia> b = [1,2, NaN] 3-element Array{Float64,1}: 1.0 2.0 NaN julia> a == b false Nan比較中にこれらを無視する、または効率的に置き換えるためのエレガントな方法はありますか?
8 julia 

1
オフセット配列のインデックスと値を取得する列挙のような関数ですか?
このような配列がある場合: using OffsetArrays a = OffsetArray(collect(1:5),(11:15)) 私は配列を反復することができます: for (i,x) in enumerate(a) println((i,x)) end そして得る: (1, 1) (2, 2) (3, 3) (4, 4) (5, 5) しかし、私はこれが欲しい: (11, 1) (12, 2) (13, 3) (14, 4) (15, 5) オフセット配列を使用しているため、実際のインデックスを取得する方法はありますか?

1
オーバーフローなしでジュリアで10 ^ 19を保存する方法
Juliaの変数に数値10 ^ 19を保存しようとしています。 私はそれが溢れているのを知っています、しかし私は問題のようなことをするBigInt(10^19)かInt128(10^19)解決することを考えましたが、それはしません。 何かご意見は? Juliaのオーバーフロー動作を確認する
8 julia 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.