Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Recursion is the root of computation since it trades description for time.


devel / comp.lang.fortran / Re: Inversion problem with minimum accuracy in Dgetri in LAPack

SubjectAuthor
* Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
`* Inversion problem with minimum accuracy in Dgetri in LAPackArjen Markus
 `* Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
  +* Inversion problem with minimum accuracy in Dgetri in LAPackjfh
  |+- Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
  |`* Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
  | +* Inversion problem with minimum accuracy in Dgetri in LAPackGiorgio Pastore
  | |`* Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
  | | `* Inversion problem with minimum accuracy in Dgetri in LAPackDavid Jones
  | |  `* Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
  | |   `- Inversion problem with minimum accuracy in Dgetri in LAPackDavid Jones
  | `* Inversion problem with minimum accuracy in Dgetri in LAPackgah4
  |  `- Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
  `* Inversion problem with minimum accuracy in Dgetri in LAPackRon Shepard
   `* Inversion problem with minimum accuracy in Dgetri in LAPackDavid Jones
    +* Inversion problem with minimum accuracy in Dgetri in LAPackEdmondo Giovannozzi
    |`- Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
    `* Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar
     `* Inversion problem with minimum accuracy in Dgetri in LAPackgah4
      `- Inversion problem with minimum accuracy in Dgetri in LAPackFarzad Tatar

1
Inversion problem with minimum accuracy in Dgetri in LAPack

<aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10192&group=comp.lang.fortran#10192

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:6214:5ec3:b0:649:9ae9:290a with SMTP id mn3-20020a0562145ec300b006499ae9290amr159086qvb.4.1693741418114;
Sun, 03 Sep 2023 04:43:38 -0700 (PDT)
X-Received: by 2002:a17:90a:ab8d:b0:26d:2b4e:8879 with SMTP id
n13-20020a17090aab8d00b0026d2b4e8879mr1679332pjq.4.1693741417469; Sun, 03 Sep
2023 04:43:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sun, 3 Sep 2023 04:43:36 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=151.68.252.182; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 151.68.252.182
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
Subject: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Sun, 03 Sep 2023 11:43:38 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2786
 by: Farzad Tatar - Sun, 3 Sep 2023 11:43 UTC

Dear All,
I am using Dgetri to invert a square matrix that I have. The matrix consists of the Radial Basis values of a grid that I have, i.e., RBF(Nnode,Nnode).
I have used two different compilers to invert the matrix. The first one is in the environment of Microsoft powerstaion 4 and the other is using inter fortran. The problem is that when I create the RBF matrix, all the components in two different codes are the same but after the inversion, they are not, though the values are close.

calculated after the inverting with intel:
89588.4169487697 -400462.914663885 993255.716366269
-1815020.42991486 2737745.90690058 -3621529.66069135
4359302.34907216 -4892909.07940900 5208790.59570593
-5324438.63545066

the old calculation, (I have trust in this results because it is verified) this one takes a much longer time for inversion, though.
92178.015799056420000 -414516.040633608200000 1035342.675828539000000
-1907313.242167841000000 2903705.975803736000000 -3881289.913598144000000
4726376.390789632000000 -5372746.814054917000000 5798863.224470832000000
-6015613.975911859000000 6052730.233410349000000 -5947828.868681677000000

I was thinking of the precision problem, but it cannot be the case because the calculation of the RBF function, which includes calculating the distance of each point in the grid with respect to the other points, is correct for both codes. They are equal to each other. Now, I think maybe the Intel compiler is somehow reducing the accuracy in the calculation in the inversion step. Any idea is highly welcome. Thank you in advance.

Cheers,

Farzad

Thank you for

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10193&group=comp.lang.fortran#10193

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:1996:b0:76f:51b:545b with SMTP id bm22-20020a05620a199600b0076f051b545bmr226625qkb.10.1693753583152;
Sun, 03 Sep 2023 08:06:23 -0700 (PDT)
X-Received: by 2002:a17:903:191:b0:1c3:1ceb:97a2 with SMTP id
z17-20020a170903019100b001c31ceb97a2mr2075951plg.13.1693753582851; Sun, 03
Sep 2023 08:06:22 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sun, 3 Sep 2023 08:06:22 -0700 (PDT)
In-Reply-To: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=62.194.189.128; posting-account=A91wAAoAAADgBUxBX6QqsrSD26GLhVp8
NNTP-Posting-Host: 62.194.189.128
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: arjen.ma...@gmail.com (Arjen Markus)
Injection-Date: Sun, 03 Sep 2023 15:06:23 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3870
 by: Arjen Markus - Sun, 3 Sep 2023 15:06 UTC

On Sunday, September 3, 2023 at 1:43:40 PM UTC+2, Farzad Tatar wrote:
> Dear All,
> I am using Dgetri to invert a square matrix that I have. The matrix consists of the Radial Basis values of a grid that I have, i.e., RBF(Nnode,Nnode).
> I have used two different compilers to invert the matrix. The first one is in the environment of Microsoft powerstaion 4 and the other is using inter fortran. The problem is that when I create the RBF matrix, all the components in two different codes are the same but after the inversion, they are not, though the values are close.
>
> calculated after the inverting with intel:
> 89588.4169487697 -400462.914663885 993255.716366269
> -1815020.42991486 2737745.90690058 -3621529.66069135
> 4359302.34907216 -4892909.07940900 5208790.59570593
> -5324438.63545066
>
> the old calculation, (I have trust in this results because it is verified) this one takes a much longer time for inversion, though.
> 92178.015799056420000 -414516.040633608200000 1035342.675828539000000
> -1907313.242167841000000 2903705.975803736000000 -3881289.913598144000000
> 4726376.390789632000000 -5372746.814054917000000 5798863.224470832000000
> -6015613.975911859000000 6052730.233410349000000 -5947828.868681677000000
>
> I was thinking of the precision problem, but it cannot be the case because the calculation of the RBF function, which includes calculating the distance of each point in the grid with respect to the other points, is correct for both codes. They are equal to each other. Now, I think maybe the Intel compiler is somehow reducing the accuracy in the calculation in the inversion step. Any idea is highly welcome. Thank you in advance.
>
> Cheers,
>
> Farzad
>
> Thank you for

I do not quite understand the results you post: the result for Intel has 10 numbers, for MicroSoft powerstation there are 12 numbers - neither set of numbers fit in a square matrix ;). So, I have no idea if the two are really close as you say.

You should beware that the inverse of a matrix can be difficult to compute accurately, though these seem to be small. You can check the results by multiplying the original matrix with the inverse matrix (or even by multiplying the inverse matrix by the original). The answer should be the identity matrix or nearly so. Differences may occur because of rounding effects.

It would help if you could show your code.

One last remark: MicroSoft Powerstation has been out of support for several decades.

Regards,

Arjen

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10194&group=comp.lang.fortran#10194

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:86cb:b0:76f:734:5677 with SMTP id pr11-20020a05620a86cb00b0076f07345677mr178212qkn.15.1693773283269;
Sun, 03 Sep 2023 13:34:43 -0700 (PDT)
X-Received: by 2002:a17:903:5c8:b0:1bc:7c69:925c with SMTP id
kf8-20020a17090305c800b001bc7c69925cmr2362078plb.10.1693773282640; Sun, 03
Sep 2023 13:34:42 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sun, 3 Sep 2023 13:34:41 -0700 (PDT)
In-Reply-To: <8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=151.34.240.223; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 151.34.240.223
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com> <8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Sun, 03 Sep 2023 20:34:43 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5080
 by: Farzad Tatar - Sun, 3 Sep 2023 20:34 UTC

> I do not quite understand the results you post: the result for Intel has 10 numbers, for MicroSoft powerstation there are 12 numbers - > neither set of numbers fit in a square matrix ;). So, I have no idea if the two are really close as you say.
Sorry for the misleading information. The numbers are the first few elements of the first column just to be able to compare them. the matrix shape is 1400by 1400. for this case.

> You should beware that the inverse of a matrix can be difficult to compute accurately, though these seem to be small. You can check the results by multiplying the original matrix with the inverse matrix (or even by multiplying the inverse matrix by the original). The answer should be the identity matrix or nearly so. Differences may occur because of rounding effects.

I will try this though I already know that the result is not accurate. I actually tried REAL128 from the intrinsic kind function in the modern fortran and the results got closer to the one that I was receiving from the old code. It means the reason might be due to the precision. But aren't Real*8 and Real64 the same?

> It would help if you could show your code.
This subroutine is a very small part of my project. Here is the part I am dealing with.

SUBROUTINE RBF_inv(iflag)
USE COMMON_1

USE, INTRINSIC :: ISO_FORTRAN_ENV, DP => REAL64

INTEGER, INTENT(IN) :: iflag
INTEGER :: ii, jj, i1, j1, INFO, NRHS, M, N, ising, lwork
INTEGER, DIMENSION(NNODE_LS) :: IPIV
REAL (DP):: xi_, yi_, xj_, yj_, dist_, temp, determ
REAL (DP):: F_intp
REAL (DP):: xni, yni, xnj, ynj,xw_ls_norm
REAL(DP), ALLOCATABLE:: work(:)

! Determine the coeff of the Radial Basis Functions
! This approach is used to interpolate the function everywhere in the domain


! 1. Invert RBF_LS only at the 1st iteration (iflag==0) , then I will have the RBF coeffs

IF (iflag == 0) THEN
WRITE(*,*) ' Solve global RBF iter', iter, Nnode_LS !nnode_ls is the number of node in each row.

! Matrix of the RBF function values
DO ii = 1, Nnode_LS
xi_ = xy_lsgrid(1, ii)
yi_ = xy_lsgrid(2, ii)
DO jj = 1, Nnode_LS
xj_ = xy_lsgrid(1, jj)
yj_ = xy_lsgrid(2, jj)
dist_ = SQRT((xj_ - xi_)**2.0_dp + (yj_ - yi_)**2.0_dp)
RBF_LS(ii, jj) = EXP(-((dist_ * epsw)**2.0_dp))
!IF (RBF_LS(II,JJ) <= 1.0E-58_DP) RBF_LS(II,JJ)=0.0_DP
END DO
END DO

! Solve the linear system
NRHS=1
print*, "1:", rbf_ls(1:10,1)
! Perform LU decomposition of RBF_LS
CALL DGETRF(NNODE_LS, NNODE_LS, RBF_LS, NNODE_LS, ipiv, info)
print*, "2:composed LU", rbf_ls(1:10,1)
IF (info == 0) THEN
! RBF_LS was successfully factorized, now compute its inverse
ALLOCATE(work(lwork)) !this is work vector
CALL DGETRI(NNODE_LS, RBF_LS, NNODE_LS, ipiv, work, nnode_ls, info)
print*, "3:", rbf_ls(1:10,1)
IF (info == 0) THEN
! A_inv contains the inverse of A
! Use A_inv as needed
ELSE
PRINT *, "Error computing the inverse of A."
END IF
DEALLOCATE(work)
ELSE
PRINT *, "Error in LU decomposition of A."
END IF

> One last remark: MicroSoft Powerstation has been out of support for several decades.
The point is that this old method is giving a more accurate result in comparison with the new one.

Thank you,

Farzad

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10195&group=comp.lang.fortran#10195

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:ac8:7e91:0:b0:403:fb10:28f8 with SMTP id w17-20020ac87e91000000b00403fb1028f8mr220336qtj.4.1693796564518;
Sun, 03 Sep 2023 20:02:44 -0700 (PDT)
X-Received: by 2002:a17:903:1c4:b0:1bb:cf58:532f with SMTP id
e4-20020a17090301c400b001bbcf58532fmr3405272plh.0.1693796563952; Sun, 03 Sep
2023 20:02:43 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Sun, 3 Sep 2023 20:02:43 -0700 (PDT)
In-Reply-To: <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=122.56.204.207; posting-account=KnYfEgoAAAD1tUJTvdAUZ3XojNa5tezZ
NNTP-Posting-Host: 122.56.204.207
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: harper...@gmail.com (jfh)
Injection-Date: Mon, 04 Sep 2023 03:02:44 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5826
 by: jfh - Mon, 4 Sep 2023 03:02 UTC

On Monday, September 4, 2023 at 8:34:45 AM UTC+12, Farzad Tatar wrote:
> > I do not quite understand the results you post: the result for Intel has 10 numbers, for MicroSoft powerstation there are 12 numbers - > neither set of numbers fit in a square matrix ;). So, I have no idea if the two are really close as you say.
> Sorry for the misleading information. The numbers are the first few elements of the first column just to be able to compare them. the matrix shape is 1400by 1400. for this case.
> > You should beware that the inverse of a matrix can be difficult to compute accurately, though these seem to be small. You can check the results by multiplying the original matrix with the inverse matrix (or even by multiplying the inverse matrix by the original). The answer should be the identity matrix or nearly so. Differences may occur because of rounding effects.
> I will try this though I already know that the result is not accurate. I actually tried REAL128 from the intrinsic kind function in the modern fortran and the results got closer to the one that I was receiving from the old code. It means the reason might be due to the precision. But aren't Real*8 and Real64 the same?
> > It would help if you could show your code.
> This subroutine is a very small part of my project. Here is the part I am dealing with.
>
> SUBROUTINE RBF_inv(iflag)
> USE COMMON_1
>
> USE, INTRINSIC :: ISO_FORTRAN_ENV, DP => REAL64
>
> INTEGER, INTENT(IN) :: iflag
> INTEGER :: ii, jj, i1, j1, INFO, NRHS, M, N, ising, lwork
> INTEGER, DIMENSION(NNODE_LS) :: IPIV
> REAL (DP):: xi_, yi_, xj_, yj_, dist_, temp, determ
> REAL (DP):: F_intp
> REAL (DP):: xni, yni, xnj, ynj,xw_ls_norm
> REAL(DP), ALLOCATABLE:: work(:)
>
> ! Determine the coeff of the Radial Basis Functions
> ! This approach is used to interpolate the function everywhere in the domain
>
>
> ! 1. Invert RBF_LS only at the 1st iteration (iflag==0) , then I will have the RBF coeffs
>
> IF (iflag == 0) THEN
> WRITE(*,*) ' Solve global RBF iter', iter, Nnode_LS !nnode_ls is the number of node in each row.
>
> ! Matrix of the RBF function values
> DO ii = 1, Nnode_LS
> xi_ = xy_lsgrid(1, ii)
> yi_ = xy_lsgrid(2, ii)
> DO jj = 1, Nnode_LS
> xj_ = xy_lsgrid(1, jj)
> yj_ = xy_lsgrid(2, jj)
> dist_ = SQRT((xj_ - xi_)**2.0_dp + (yj_ - yi_)**2.0_dp)
> RBF_LS(ii, jj) = EXP(-((dist_ * epsw)**2.0_dp))
> !IF (RBF_LS(II,JJ) <= 1.0E-58_DP) RBF_LS(II,JJ)=0.0_DP
> END DO
> END DO
>
> ! Solve the linear system
> NRHS=1
> print*, "1:", rbf_ls(1:10,1)
> ! Perform LU decomposition of RBF_LS
> CALL DGETRF(NNODE_LS, NNODE_LS, RBF_LS, NNODE_LS, ipiv, info)
> print*, "2:composed LU", rbf_ls(1:10,1)
> IF (info == 0) THEN
> ! RBF_LS was successfully factorized, now compute its inverse
> ALLOCATE(work(lwork)) !this is work vector
> CALL DGETRI(NNODE_LS, RBF_LS, NNODE_LS, ipiv, work, nnode_ls, info)
> print*, "3:", rbf_ls(1:10,1)
> IF (info == 0) THEN
> ! A_inv contains the inverse of A
> ! Use A_inv as needed
> ELSE
> PRINT *, "Error computing the inverse of A."

> END IF
> DEALLOCATE(work)
> ELSE
> PRINT *, "Error in LU decomposition of A."
> END IF
> > One last remark: MicroSoft Powerstation has been out of support for several decades.
> The point is that this old method is giving a more accurate result in comparison with the new one.
>
How do you know the old method is more accurate? I have heard of cases where people thought a result was right because it agreed with a previous one, but both turned out to be wrong. We have not been shown what either matmul(A_inv ,A) or matmul(A,A_inv) is. Nor have we been told how ill-conditioned A is. I recall years ago that one of my students thought of a way to do a problem in quantum mechanics that involved solving a linear system of the form A*x=y. His pure mathematics was right, but he had never learnt about ill-conditioned matrices. I said that the elements of y were obtained from physical experiments and were known only to within about 1 part in 10**6 and so I asked him to try changing some of them by that amount and see what happened to x. That showed him why his method was not in general use for his problem.

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<52318e07-4124-47d7-8bc7-2f17336c9e4en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10196&group=comp.lang.fortran#10196

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:ac8:7f45:0:b0:412:2510:2c7e with SMTP id g5-20020ac87f45000000b0041225102c7emr202902qtk.10.1693814541423;
Mon, 04 Sep 2023 01:02:21 -0700 (PDT)
X-Received: by 2002:a05:6a00:2d0d:b0:68a:5937:ea87 with SMTP id
fa13-20020a056a002d0d00b0068a5937ea87mr3653050pfb.3.1693814541081; Mon, 04
Sep 2023 01:02:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Mon, 4 Sep 2023 01:02:20 -0700 (PDT)
In-Reply-To: <26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.21.134; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.21.134
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <52318e07-4124-47d7-8bc7-2f17336c9e4en@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Mon, 04 Sep 2023 08:02:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2292
 by: Farzad Tatar - Mon, 4 Sep 2023 08:02 UTC

> How do you know the old method is more accurate?

Thank you for sharing your valuable experience with me. As a student, I am always dubious about the results I obtain. So I do the double check all the time. The reason why I think the old method is correct is that I calculate the area of my grid based on the matrix that I obtained later. Then with a simple comparison, I realized that the new code was wrong. Probably I am doing something wrong with Lapack subroutines. I think of a precision problem because when I change the intrinsic function from real64 to real128, the results get improved, not enough to be compared with the old code though. If the problem was rooted in the ill-conditioning of the RBF__LS matrix, it should not have worked properly with the old code as well. Please correct me if I am wrong.
Thank you for taking the time.

Cheers,

Farzad

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10197&group=comp.lang.fortran#10197

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:622a:1999:b0:411:fa33:f0dd with SMTP id u25-20020a05622a199900b00411fa33f0ddmr218772qtc.11.1693834701096;
Mon, 04 Sep 2023 06:38:21 -0700 (PDT)
X-Received: by 2002:a17:90b:153:b0:269:32cb:3321 with SMTP id
em19-20020a17090b015300b0026932cb3321mr2520993pjb.0.1693834700411; Mon, 04
Sep 2023 06:38:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Mon, 4 Sep 2023 06:38:19 -0700 (PDT)
In-Reply-To: <26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.21.134; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.21.134
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Mon, 04 Sep 2023 13:38:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Farzad Tatar - Mon, 4 Sep 2023 13:38 UTC

> I will try this though I already know that the result is not accurate. I actually tried REAL128 from the intrinsic kind function in the modern fortran and the results got closer to the one that I was receiving from the old code. It means the reason might be due to the precision. But aren't Real*8 and Real64 the same?
> How do you know the old method is more accurate?

Thanks for the hint of inverting the inverted matrix. I did it and realized that the result of the mentioned calculation was not accurate. Indeed it has the accuracy until the first four decimals. It means it is using a single precision instead of a double. Nevertheless, I am sure the LAPack subroutines and files I am using start with "D" letter instead of "S". Can anyone give me a clue?

Regards,

Farzad Tatar

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<klmb03F5oasU1@mid.individual.net>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10199&group=comp.lang.fortran#10199

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: past...@units.it (Giorgio Pastore)
Newsgroups: comp.lang.fortran
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
Date: Mon, 4 Sep 2023 17:21:39 +0200
Lines: 7
Message-ID: <klmb03F5oasU1@mid.individual.net>
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com>
<c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com>
<232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: individual.net 5KlcWWSzxIOXelT2jJBKWAespgLa7eBV/hghjCBllzmlAxMfbE
Cancel-Lock: sha1:z0/KkdNygIFHwEgjW47DHEzYOxk= sha256:Pq6ZJzfPGElpnBQ9CkO8d7ppJpogYerIaHuFNyfkkUc=
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
Gecko/20100101 Thunderbird/102.15.0
Content-Language: it
In-Reply-To: <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
 by: Giorgio Pastore - Mon, 4 Sep 2023 15:21 UTC

Il 04/09/23 15:38, Farzad Tatar ha scritto:
>... Indeed it has the accuracy until the first four decimals. It means it is using a single precision instead of a double. Nevertheless, I am sure the LAPack subroutines and files I am using start with "D" letter instead of "S". Can anyone give me a clue?

Before making uncontrolled assumptions, you should check the condition
number of your matrix (see the definition of condition numebr for
matices in https://en.wikipedia.org/wiki/Condition_number ).

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<cddbe577-b008-4b95-acdb-b1f05bd42a54n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10200&group=comp.lang.fortran#10200

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:17a4:b0:76f:b4e:e703 with SMTP id ay36-20020a05620a17a400b0076f0b4ee703mr292423qkb.14.1693857553941;
Mon, 04 Sep 2023 12:59:13 -0700 (PDT)
X-Received: by 2002:a05:6a00:178e:b0:68b:db4f:73be with SMTP id
s14-20020a056a00178e00b0068bdb4f73bemr4666294pfg.6.1693857553718; Mon, 04 Sep
2023 12:59:13 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Mon, 4 Sep 2023 12:59:13 -0700 (PDT)
In-Reply-To: <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:25e8:99cf:b97f:8814;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:25e8:99cf:b97f:8814
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com> <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cddbe577-b008-4b95-acdb-b1f05bd42a54n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: gah...@u.washington.edu (gah4)
Injection-Date: Mon, 04 Sep 2023 19:59:13 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2785
 by: gah4 - Mon, 4 Sep 2023 19:59 UTC

On Monday, September 4, 2023 at 6:38:22 AM UTC-7, Farzad Tatar wrote:

(snip)

> Thanks for the hint of inverting the inverted matrix. I did it and realized that
> the result of the mentioned calculation was not accurate.
> Indeed it has the accuracy until the first four decimals. It means it is using a
> single precision instead of a double.

> Nevertheless, I am sure the LAPack subroutines and files I am using start with "D" letter instead of "S". Can anyone give me a clue?

It is extremely easy to lose precision with matrix inversion. LU decomposition is much better.

Many calculations only need single precision, but many matrix operations need to be done with
double precision intermediates to get single precision.

And if you are a little less lucky, only four digits.

In 1968, IBM added 128 bit floating point hardware to the 360/85, and continued
it with S/370 and later models. (Except the divide operation, DXR, was done in software
emulation until recently, as studies showed that it was rarely enough used.)

And yet most others didn't follow along. VAX has a defined H-float, but for most it
is either software emulation, or extra cost option.

RISC-V has it. I don't know which implementations include it.

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<65c791c9-0095-42ed-aa69-9c2ba04b3caen@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10202&group=comp.lang.fortran#10202

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:1916:b0:76d:ada1:d841 with SMTP id bj22-20020a05620a191600b0076dada1d841mr358043qkb.7.1693904033000;
Tue, 05 Sep 2023 01:53:53 -0700 (PDT)
X-Received: by 2002:a17:902:d48c:b0:1b7:d4d2:c385 with SMTP id
c12-20020a170902d48c00b001b7d4d2c385mr4642103plg.1.1693904032639; Tue, 05 Sep
2023 01:53:52 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Tue, 5 Sep 2023 01:53:51 -0700 (PDT)
In-Reply-To: <klmb03F5oasU1@mid.individual.net>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.134.17; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.134.17
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com> <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
<klmb03F5oasU1@mid.individual.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <65c791c9-0095-42ed-aa69-9c2ba04b3caen@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Tue, 05 Sep 2023 08:53:52 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Farzad Tatar - Tue, 5 Sep 2023 08:53 UTC

> Before making uncontrolled assumptions, you should check the condition
> number of your matrix (see the definition of condition numebr for
> matices in https://en.wikipedia.org/wiki/Condition_number ).

Thank you for your insightful advice. I calculated the condition number of my matrix using the Forbenus norm and here are the norms and the condition number of my RBF matrix.

Norm , Norm of the inverse matrix and Condition number are: 142.049233380836
1.829619706901719E+016 2.598960767438591E+018

Considering the condition number, I may lose the accuracy up to 18 decimals.. Am I right? Please let me know if you have any textbook or reference on how to improve the condition number. I have read the RBF interpolation is well-conditioned, or maybe I am wrong and that has been compactly supported RBF interpolation. I need to delve more into this topic. Thank you anyway for your valuable advice.

Cheers,

F Tatar

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<ee2828ef-d7aa-4f7c-94b8-6da60b949d96n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10203&group=comp.lang.fortran#10203

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:622a:1a9b:b0:40f:e0dd:8050 with SMTP id s27-20020a05622a1a9b00b0040fe0dd8050mr373317qtc.5.1693904234252;
Tue, 05 Sep 2023 01:57:14 -0700 (PDT)
X-Received: by 2002:a63:3584:0:b0:564:8375:d238 with SMTP id
c126-20020a633584000000b005648375d238mr2723886pga.4.1693904233640; Tue, 05
Sep 2023 01:57:13 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Tue, 5 Sep 2023 01:57:13 -0700 (PDT)
In-Reply-To: <cddbe577-b008-4b95-acdb-b1f05bd42a54n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.134.17; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.134.17
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com> <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
<cddbe577-b008-4b95-acdb-b1f05bd42a54n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ee2828ef-d7aa-4f7c-94b8-6da60b949d96n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Tue, 05 Sep 2023 08:57:14 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2310
 by: Farzad Tatar - Tue, 5 Sep 2023 08:57 UTC

> Many calculations only need single precision, but many matrix operations need to be done with
> double precision intermediates to get single precision.
Thank you, I will remember this to avoid unnecessary memory allocation to the operations where matrix inversion is not included.

> In 1968, IBM added 128 bit floating point hardware to the 360/85, and continued
> it with S/370 and later models. (Except the divide operation, DXR, was done in software
> emulation until recently, as studies showed that it was rarely enough used.)

Since I realized that the matrix I was trying to invert was ill-conditioned, I will fix this problem first, then I will tackle the accuracy if it was needed. Thank you anyway for the recourse.
Regards,

Farzad Tatar

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<ud719c$1ummo$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10205&group=comp.lang.fortran#10205

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dajhaw...@nowherel.com (David Jones)
Newsgroups: comp.lang.fortran
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
Date: Tue, 5 Sep 2023 10:52:28 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 39
Message-ID: <ud719c$1ummo$1@dont-email.me>
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com> <8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com> <26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com> <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com> <klmb03F5oasU1@mid.individual.net> <65c791c9-0095-42ed-aa69-9c2ba04b3caen@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 5 Sep 2023 10:52:28 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a57192529e214fd45c930e80d9b1edb9";
logging-data="2054872"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18aTy35NBgLJYL8PkrfX9Y29IsGslSsink="
User-Agent: XanaNews/1.21-f3fb89f (x86; Portable ISpell)
Cancel-Lock: sha1:9VEDX1nVP1ivnKy5glPSq0sxV9o=
 by: David Jones - Tue, 5 Sep 2023 10:52 UTC

Farzad Tatar wrote:

>
> > Before making uncontrolled assumptions, you should check the
> > condition number of your matrix (see the definition of condition
> > numebr for matices in
> > https://en.wikipedia.org/wiki/Condition_number ).
>
> Thank you for your insightful advice. I calculated the condition
> number of my matrix using the Forbenus norm and here are the norms
> and the condition number of my RBF matrix.
>
> Norm , Norm of the inverse matrix and Condition number are:
> 142.049233380836 1.829619706901719E+016 2.598960767438591E+018
>
> Considering the condition number, I may lose the accuracy up to 18
> decimals. Am I right? Please let me know if you have any textbook or
> reference on how to improve the condition number. I have read the RBF
> interpolation is well-conditioned, or maybe I am wrong and that has
> been compactly supported RBF interpolation. I need to delve more into
> this topic. Thank you anyway for your valuable advice.
>
> Cheers,
>
> F Tatar

There are two direct solutions:
(1) reduce the effective correlation that you are assuming, which will
move the matrix in the direction of an identity matrix. Ensure that the
largest off-diagonal element isn't too close to one.
(2) reduce the size of the field over which you are doing
interpolation. That is, for any given target point, limit the number of
neighbours being used for fitting: maybe only 20 rather than 1400.

You might also want to reconsider you choice of basis-function. You
could also look at the problem from the point of view of statistical
optimal interpolation rather than basis-functions: this gives a very
similar algorithm but with a different interpretation, which may be
helpful.

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<1fc4a61c-b795-4de4-a50f-9db95f208aa6n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10206&group=comp.lang.fortran#10206

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:ad4:4d49:0:b0:63f:be4f:160a with SMTP id m9-20020ad44d49000000b0063fbe4f160amr272144qvm.3.1693921177994;
Tue, 05 Sep 2023 06:39:37 -0700 (PDT)
X-Received: by 2002:a17:90a:9742:b0:26b:36dc:2f0b with SMTP id
i2-20020a17090a974200b0026b36dc2f0bmr3283763pjw.5.1693921177538; Tue, 05 Sep
2023 06:39:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Tue, 5 Sep 2023 06:39:36 -0700 (PDT)
In-Reply-To: <ud719c$1ummo$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.134.17; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.134.17
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com> <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com>
<klmb03F5oasU1@mid.individual.net> <65c791c9-0095-42ed-aa69-9c2ba04b3caen@googlegroups.com>
<ud719c$1ummo$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1fc4a61c-b795-4de4-a50f-9db95f208aa6n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Tue, 05 Sep 2023 13:39:37 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4190
 by: Farzad Tatar - Tue, 5 Sep 2023 13:39 UTC

On Tuesday, September 5, 2023 at 12:52:32 PM UTC+2, David Jones wrote:
> Farzad Tatar wrote:
>
> >
> > > Before making uncontrolled assumptions, you should check the
> > > condition number of your matrix (see the definition of condition
> > > numebr for matices in
> > > https://en.wikipedia.org/wiki/Condition_number ).
> >
> > Thank you for your insightful advice. I calculated the condition
> > number of my matrix using the Forbenus norm and here are the norms
> > and the condition number of my RBF matrix.
> >
> > Norm , Norm of the inverse matrix and Condition number are:
> > 142.049233380836 1.829619706901719E+016 2.598960767438591E+018
> >
> > Considering the condition number, I may lose the accuracy up to 18
> > decimals. Am I right? Please let me know if you have any textbook or
> > reference on how to improve the condition number. I have read the RBF
> > interpolation is well-conditioned, or maybe I am wrong and that has
> > been compactly supported RBF interpolation. I need to delve more into
> > this topic. Thank you anyway for your valuable advice.
> >
> > Cheers,
> >
> > F Tatar
> There are two direct solutions:
> (1) reduce the effective correlation that you are assuming, which will
> move the matrix in the direction of an identity matrix. Ensure that the
> largest off-diagonal element isn't too close to one.
> (2) reduce the size of the field over which you are doing
> interpolation. That is, for any given target point, limit the number of
> neighbours being used for fitting: maybe only 20 rather than 1400.
>
> You might also want to reconsider you choice of basis-function. You
> could also look at the problem from the point of view of statistical
> optimal interpolation rather than basis-functions: this gives a very
> similar algorithm but with a different interpretation, which may be
> helpful.

Thank you. I did not totally understand your first point. Regarding your second advice, I have used a similar job, though I cannot change the size of RBF matrix, I have set far values to be zero. However, this did not help. I was expecting a meaningful improvement in reducing the condition number of my problem, but it is still in the order of 10E+13.

I tried a different basis function but I did not improve the condition number.

A solution that I discovered on the internet is to use a Singular Value Decomposition algorithm for the matrix inversion. Do you think it could help me in my case?

Cheers,

Farzad

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<ud7ga3$218k1$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10207&group=comp.lang.fortran#10207

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dajhaw...@nowherel.com (David Jones)
Newsgroups: comp.lang.fortran
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
Date: Tue, 5 Sep 2023 15:08:51 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 81
Message-ID: <ud7ga3$218k1$1@dont-email.me>
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com> <8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com> <26454e02-d247-4d86-a721-6166cdf11d56n@googlegroups.com> <232d1483-dbdd-4833-8697-6e15686b90c7n@googlegroups.com> <klmb03F5oasU1@mid.individual.net> <65c791c9-0095-42ed-aa69-9c2ba04b3caen@googlegroups.com> <ud719c$1ummo$1@dont-email.me> <1fc4a61c-b795-4de4-a50f-9db95f208aa6n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 5 Sep 2023 15:08:51 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a57192529e214fd45c930e80d9b1edb9";
logging-data="2138753"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+W3l8Vo63z2QP8eDSxG7SL6YpZfmgMMlI="
User-Agent: XanaNews/1.21-f3fb89f (x86; Portable ISpell)
Cancel-Lock: sha1:e9n4mjzG3d7A0JuUWf+3h14k9ko=
 by: David Jones - Tue, 5 Sep 2023 15:08 UTC

Farzad Tatar wrote:

> On Tuesday, September 5, 2023 at 12:52:32 PM UTC+2, David Jones wrote:
> > Farzad Tatar wrote:
> >
> > >
> > > > Before making uncontrolled assumptions, you should check the
> > > > condition number of your matrix (see the definition of
> > > > condition numebr for matices in
> > > > https://en.wikipedia.org/wiki/Condition_number ).
> > >
> > > Thank you for your insightful advice. I calculated the condition
> > > number of my matrix using the Forbenus norm and here are the
> > > norms and the condition number of my RBF matrix.
> > >
> > > Norm , Norm of the inverse matrix and Condition number are:
> > > 142.049233380836 1.829619706901719E+016 2.598960767438591E+018
> > >
> > > Considering the condition number, I may lose the accuracy up to
> > > 18 decimals. Am I right? Please let me know if you have any
> > > textbook or reference on how to improve the condition number. I
> > > have read the RBF interpolation is well-conditioned, or maybe I
> > > am wrong and that has been compactly supported RBF interpolation.
> > > I need to delve more into this topic. Thank you anyway for your
> > > valuable advice.
> > >
> > > Cheers,
> > >
> > > F Tatar
> > There are two direct solutions:
> > (1) reduce the effective correlation that you are assuming, which
> > will move the matrix in the direction of an identity matrix. Ensure
> > that the largest off-diagonal element isn't too close to one.
> > (2) reduce the size of the field over which you are doing
> > interpolation. That is, for any given target point, limit the
> > number of neighbours being used for fitting: maybe only 20 rather
> > than 1400.
> >
> > You might also want to reconsider you choice of basis-function. You
> > could also look at the problem from the point of view of
> > statistical optimal interpolation rather than basis-functions: this
> > gives a very similar algorithm but with a different interpretation,
> > which may be helpful.
>
> Thank you. I did not totally understand your first point. Regarding
> your second advice, I have used a similar job, though I cannot change
> the size of RBF matrix, I have set far values to be zero. However,
> this did not help. I was expecting a meaningful improvement in
> reducing the condition number of my problem, but it is still in the
> order of 10E+13.
>
> I tried a different basis function but I did not improve the
> condition number.
>
> A solution that I discovered on the internet is to use a Singular
> Value Decomposition algorithm for the matrix inversion. Do you think
> it could help me in my case?
>
> Cheers,
>
> Farzad

Rather than playing with the "far values", I think you should be
looking at any close pairs to make sure that none of the underlying
locations are not effectively identical. Otherwise you could try
replacing the values on the diagonal of your matrix which should be
being evaluated as one, by one plus a small number. The effect of this
is to change the exact interpolation to an approximate interpolation.
You may find this referred to as a "nugget effect".

As to the singular value decomposition, this may just identify the fact
that you have a difficult matrix. I don't think it would help with
matrix inversion, but there may be some other way to use the theory to
do the interpolation.

You say that you cannot change the size of RBF matrix, but this should
be possible by splitting the interpolation problem into a set of
overlapping sub-regions and doing interpolation for each. This is a
generalised nearest-neighbour approach. Alternatively you could treat
the idea as developing your understanding of what is going-on, by
looking at the results for a 1 by 1 matrix, a 2 by 2 matrix,... etc.

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<noIJM.152852$zW7d.89812@fx43.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10208&group=comp.lang.fortran#10208

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx43.iad.POSTED!not-for-mail
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:102.0)
Gecko/20100101 Thunderbird/102.14.0
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
Content-Language: en-US
Newsgroups: comp.lang.fortran
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com>
<c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
From: nos...@nowhere.org (Ron Shepard)
In-Reply-To: <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 27
Message-ID: <noIJM.152852$zW7d.89812@fx43.iad>
X-Complaints-To: abuse@easynews.com
Organization: Forte - www.forteinc.com
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Tue, 5 Sep 2023 11:08:51 -0500
X-Received-Bytes: 2104
 by: Ron Shepard - Tue, 5 Sep 2023 16:08 UTC

On 9/3/23 3:34 PM, Farzad Tatar wrote:

I think you are on the right track with examination of the condition
number of the matrix. As you already note, the solution to this problem
may involve reformulations using different basis functions, or maybe the
same type of basis functions but different orders of the function, or
different grid spacing, and so on.

Here are a couple of comments about your posted code.

> dist_ = SQRT((xj_ - xi_)**2.0_dp + (yj_ - yi_)**2.0_dp)

You should almost never use a floating point exponent with an integer
value in fortran. You should use an integer exponent here. The floating
point exponent expression is much more expensive (it requires a LOG()
and and EXP() evaluation internally), and it is potentially less accurate.

> ALLOCATE(work(lwork)) !this is work vector

I do not see where lwork is set in your code. Normally with LAPACK
procedures, you make a workspace query call first, and then use the
returned value to allocate the workspace, and then call the procedure to
do the work.

$.02 -Ron Shepard

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<ud7pjq$22q1q$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10209&group=comp.lang.fortran#10209

  copy link   Newsgroups: comp.lang.fortran
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dajhawk1...@@nowhere.com (David Jones)
Newsgroups: comp.lang.fortran
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
Date: Tue, 5 Sep 2023 17:47:38 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <ud7pjq$22q1q$1@dont-email.me>
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com> <8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com> <noIJM.152852$zW7d.89812@fx43.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 5 Sep 2023 17:47:38 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a57192529e214fd45c930e80d9b1edb9";
logging-data="2189370"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/HIfSM0g6OlKCqy5jWOFKizbLUJTDjRpI="
User-Agent: XanaNews/1.21-f3fb89f (x86; Portable ISpell)
Cancel-Lock: sha1:0Aa7thGVUBfboVfkSaik2GsoAm8=
 by: David Jones - Tue, 5 Sep 2023 17:47 UTC

Ron Shepard wrote:

> On 9/3/23 3:34 PM, Farzad Tatar wrote:
>
> I think you are on the right track with examination of the condition
> number of the matrix. As you already note, the solution to this
> problem may involve reformulations using different basis functions,
> or maybe the same type of basis functions but different orders of the
> function, or different grid spacing, and so on.
>
> Here are a couple of comments about your posted code.
>
> > dist_ = SQRT((xj_ - xi_)**2.0_dp + (yj_ - yi_)**2.0_dp)
>
>
> You should almost never use a floating point exponent with an integer
> value in fortran. You should use an integer exponent here. The
> floating point exponent expression is much more expensive (it
> requires a LOG() and and EXP() evaluation internally), and it is
> potentially less accurate.
>
.. and in the next statement the result is effectively squared, so the
SQRT calculation is unnecessary.

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<6dcd5bc8-76da-4452-9d23-1e8bf1a7efb1n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10210&group=comp.lang.fortran#10210

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:4901:b0:76f:8b7:1f9c with SMTP id ed1-20020a05620a490100b0076f08b71f9cmr397281qkb.3.1693990330291;
Wed, 06 Sep 2023 01:52:10 -0700 (PDT)
X-Received: by 2002:a63:9313:0:b0:565:d4f9:dc39 with SMTP id
b19-20020a639313000000b00565d4f9dc39mr3314016pge.9.1693990329639; Wed, 06 Sep
2023 01:52:09 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 6 Sep 2023 01:52:09 -0700 (PDT)
In-Reply-To: <ud7pjq$22q1q$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=192.107.52.63; posting-account=2VbiMAoAAADZ_2MR3YxvYmpYWYw9FTXX
NNTP-Posting-Host: 192.107.52.63
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<noIJM.152852$zW7d.89812@fx43.iad> <ud7pjq$22q1q$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6dcd5bc8-76da-4452-9d23-1e8bf1a7efb1n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: edmondo....@gmail.com (Edmondo Giovannozzi)
Injection-Date: Wed, 06 Sep 2023 08:52:10 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1552
 by: Edmondo Giovannozzi - Wed, 6 Sep 2023 08:52 UTC

I suggest to have a look at: "Multivariate interpolation of large sets of scattered data", Robert J. Renka

https://dl.acm.org/doi/abs/10.1145/45054.45055

And the implementations: QSHEP2D, QSHEP3D (TOMS 660, TOMS 661)

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<0aef2985-eaa7-41a4-a7cd-87cda0349ef3n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10212&group=comp.lang.fortran#10212

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:622a:1896:b0:412:2954:3451 with SMTP id v22-20020a05622a189600b0041229543451mr330379qtc.0.1694005025943;
Wed, 06 Sep 2023 05:57:05 -0700 (PDT)
X-Received: by 2002:a17:902:d48c:b0:1b7:d4d2:c385 with SMTP id
c12-20020a170902d48c00b001b7d4d2c385mr6010944plg.1.1694005025636; Wed, 06 Sep
2023 05:57:05 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 6 Sep 2023 05:57:04 -0700 (PDT)
In-Reply-To: <6dcd5bc8-76da-4452-9d23-1e8bf1a7efb1n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.134.17; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.134.17
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<noIJM.152852$zW7d.89812@fx43.iad> <ud7pjq$22q1q$1@dont-email.me> <6dcd5bc8-76da-4452-9d23-1e8bf1a7efb1n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0aef2985-eaa7-41a4-a7cd-87cda0349ef3n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Wed, 06 Sep 2023 12:57:05 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1758
 by: Farzad Tatar - Wed, 6 Sep 2023 12:57 UTC

On Wednesday, September 6, 2023 at 10:52:12 AM UTC+2, Edmondo Giovannozzi wrote:
> I suggest to have a look at: "Multivariate interpolation of large sets of scattered data", Robert J. Renka
Thank you Edmondo,
I will read it for a better understanding as I am not expert in this field.

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<43bf353c-5098-4c8b-afee-455fcd1db2den@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10213&group=comp.lang.fortran#10213

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:622a:43:b0:403:e8a7:bd9b with SMTP id y3-20020a05622a004300b00403e8a7bd9bmr358233qtw.11.1694005237809;
Wed, 06 Sep 2023 06:00:37 -0700 (PDT)
X-Received: by 2002:a17:903:1cd:b0:1bc:4c3d:eb08 with SMTP id
e13-20020a17090301cd00b001bc4c3deb08mr5147515plh.8.1694005237427; Wed, 06 Sep
2023 06:00:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 6 Sep 2023 06:00:36 -0700 (PDT)
In-Reply-To: <ud7pjq$22q1q$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.134.17; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.134.17
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<noIJM.152852$zW7d.89812@fx43.iad> <ud7pjq$22q1q$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <43bf353c-5098-4c8b-afee-455fcd1db2den@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Wed, 06 Sep 2023 13:00:37 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2022
 by: Farzad Tatar - Wed, 6 Sep 2023 13:00 UTC

> > You should almost never use a floating point exponent with an integer
> > value in fortran. You should use an integer exponent here. The
> > floating point exponent expression is much more expensive (it
> > requires a LOG() and and EXP() evaluation internally), and it is
> > potentially less accurate.
Thank you for your advice. Yes, I did a short search and now I see that even though it solves the problem, it is better to not use decimal for that. In fact, I am using Fortran to improve the numerical efficiency of an extensive problem. Therefore, following such useful hints is mandatory for me.

Cheers,

Farzad

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<15fc2152-6ca3-407d-95ef-ca4ce9baf2ccn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10214&group=comp.lang.fortran#10214

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:622a:1827:b0:40f:fc40:87d8 with SMTP id t39-20020a05622a182700b0040ffc4087d8mr348785qtc.6.1694005749022;
Wed, 06 Sep 2023 06:09:09 -0700 (PDT)
X-Received: by 2002:a05:6a00:3982:b0:68c:33a9:e564 with SMTP id
fi2-20020a056a00398200b0068c33a9e564mr6419610pfb.5.1694005748546; Wed, 06 Sep
2023 06:09:08 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 6 Sep 2023 06:09:07 -0700 (PDT)
In-Reply-To: <43bf353c-5098-4c8b-afee-455fcd1db2den@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2601:602:9700:4689:3558:2391:2595:b888;
posting-account=gLDX1AkAAAA26M5HM-O3sVMAXdxK9FPA
NNTP-Posting-Host: 2601:602:9700:4689:3558:2391:2595:b888
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<noIJM.152852$zW7d.89812@fx43.iad> <ud7pjq$22q1q$1@dont-email.me> <43bf353c-5098-4c8b-afee-455fcd1db2den@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <15fc2152-6ca3-407d-95ef-ca4ce9baf2ccn@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: gah...@u.washington.edu (gah4)
Injection-Date: Wed, 06 Sep 2023 13:09:09 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2158
 by: gah4 - Wed, 6 Sep 2023 13:09 UTC

On Wednesday, September 6, 2023 at 6:00:47 AM UTC-7, Farzad Tatar wrote:
> > > You should almost never use a floating point exponent with an integer
> > > value in fortran. You should use an integer exponent here. The
> > > floating point exponent expression is much more expensive (it
> > > requires a LOG() and and EXP() evaluation internally), and it is
> > > potentially less accurate.

> Thank you for your advice. Yes, I did a short search and now I see that
> even though it solves the problem, it is better to not use decimal for that.

Note that besides efficiency, the 2.0 exponent won't work with negative values.

Re: Inversion problem with minimum accuracy in Dgetri in LAPack

<c328d9a0-5e66-454e-a669-409eb3c3ee13n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=10216&group=comp.lang.fortran#10216

  copy link   Newsgroups: comp.lang.fortran
X-Received: by 2002:a05:620a:8b89:b0:76f:1614:5772 with SMTP id qx9-20020a05620a8b8900b0076f16145772mr295113qkn.5.1694007954452;
Wed, 06 Sep 2023 06:45:54 -0700 (PDT)
X-Received: by 2002:a17:90b:3014:b0:269:4850:5411 with SMTP id
hg20-20020a17090b301400b0026948505411mr3882304pjb.4.1694007953807; Wed, 06
Sep 2023 06:45:53 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.fortran
Date: Wed, 6 Sep 2023 06:45:53 -0700 (PDT)
In-Reply-To: <15fc2152-6ca3-407d-95ef-ca4ce9baf2ccn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=160.78.134.17; posting-account=hxOrswoAAAA-EZ0m91Ex-Pg6IGNqw1Kv
NNTP-Posting-Host: 160.78.134.17
References: <aa2d38fc-1df2-4703-b1b3-67adf45e2793n@googlegroups.com>
<8a0d90c2-1912-41f9-8cf1-76c8f12698adn@googlegroups.com> <c8ac7613-a6bc-4804-a668-40dbc9de519en@googlegroups.com>
<noIJM.152852$zW7d.89812@fx43.iad> <ud7pjq$22q1q$1@dont-email.me>
<43bf353c-5098-4c8b-afee-455fcd1db2den@googlegroups.com> <15fc2152-6ca3-407d-95ef-ca4ce9baf2ccn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c328d9a0-5e66-454e-a669-409eb3c3ee13n@googlegroups.com>
Subject: Re: Inversion problem with minimum accuracy in Dgetri in LAPack
From: tatarfar...@gmail.com (Farzad Tatar)
Injection-Date: Wed, 06 Sep 2023 13:45:54 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1782
 by: Farzad Tatar - Wed, 6 Sep 2023 13:45 UTC

> Note that besides efficiency, the 2.0 exponent won't work with negative values.
Thank you for that, I did not know it. Apart from getting the response to your specific question, you will learn many other things, when you ask questions in this group. I like it. Thank you all for the information you are providing.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor