[英]LAPack dpbsv returns 3 for positive definite matrix
我正在嘗試使用 LAPACK 帶狀對稱矩陣求解器 dpbsv。 我正在測試矩陣:
4, 2, 0, 0, 0
2 4, 3, 0, 0
0, 3, 11, 7, 0
0, 0, 7, 11, 5
0, 0, 0, 5, 13
Mathematica 告訴我這個矩陣是正定的,定數為 3684
我正在使用 swift 並構建了數組
var a: [Double] = [ 0, 2, 3, 7, 5,
4, 4, 11, 11, 13]
var b: [Double] = [1, 2, 3, 4, 5]
我稱 dpbsv 為
var uplo = Int8("U".utf8.first!) // set to 'U'
var n = __CLPK_integer(5)
var kd = __CLPK_integer(1)
var ldab = kd + 1
var nrhs = __CLPK_integer(1)
var ldb = __CLPK_integer(5)
var info: __CLPK_integer = 0
dpbsv_(&uplo,
&n,
&kd,
&nrhs,
&a,
&ldab,
&b,
&ldb,
&info)
if info != 0 {
// here info is 3, indicating non-positive definite.
NSLog("error \(info)")
}
知道這里有什么問題嗎? 我是否正確解釋了 dpbsv_ 的參數? 我已經嘗試過 Mathematica 聲稱是 pos-def 的其他矩陣,結果相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.