File: dpotrf.rb

package info (click to toggle)
ruby-lapack 1.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 28,572 kB
  • sloc: ansic: 191,612; ruby: 3,937; makefile: 6
file content (26 lines) | stat: -rw-r--r-- 463 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require "numru/lapack"

uplo = "L"
p a = NArray[[ 4.16, -3.12,  0.56, -0.10],
             [-3.12,  5.03, -0.83,  1.18],
             [ 0.56, -0.83,  0.76,  0.34],
             [-0.10,  1.18,  0.34,  1.18]]
a_org = a.dup
info, a = NumRu::Lapack.dpotrf(uplo, a)

p info
p a

for i in 0...a.shape[0]
  for j in 0...i
    a[j,i] = 0.0
  end
end

a = NMatrix.ref(a)

if (NArray.ref(a.transpose * a) - a_org).abs.gt(1.0e-10).count_true == 0
  p "OK"
else
  p "NG"
end