XLPack API: Julia 使用例

JuliaからXLPackを呼び出す

JuliaからXLPack Liteを呼び出すために必要な拡張モジュールがSDKに入っています. これを使うと, 呼び出しプログラムは “using XLPack”と宣言するだけで組込み関数のように簡単にXLPack Liteを呼び出すことができます.
浮動小数変数はFloat64, 整数変数はInt32を使用します. 係数行列a, 右辺bともに1次元配列でも2次元配列でも使うことができます.

Juliaプログラム例 (例題(1))

using XLPack

function TestDgesv()
    n = 3
    a = [ 0.2 -0.11 -0.93;
         -0.32 0.81 0.37;
         -0.8 -0.92 -0.29 ]
    b = [ -0.3727, 0.4319, -1.4247 ]
    ipiv = Vector{Cint}(undef, n)
    info = dgesv(n, a, ipiv, b)
    println("x = ", b, ", info = ", info)
end

TestDgesv()

実行結果

x = [0.8600000000000002, 0.64, 0.5099999999999999], info = 0

Juliaプログラム例 (例題(2))

例題(2)ではf(x)の積分をqk15を使って求めます. qk15はf(x)を定義する外部関数を必要とします. 外部関数はJuliaで作成することができ, qk15は必要なときにそれを呼び出します.

using XLPack

function TestQk15()
    f(x) = 1/(1 + x^2)
    a = 0
    b = 4
    s, abserr = qk15(f, a, b)
    println(s, " ", abserr)
end

TestQk15()

実行結果

1.3258176613637855 0.0014827239412162237