Problem in new ?sytri2 function

Post here if you want to report a bug to the LAPACK team

Problem in new ?sytri2 function

Problem in new function ?SYTRI2 was found: the part of A below the diagonal is changed in the case UPLO='U' .
But in the description of arguments
If UPLO = 'U', the upper triangular part of the
inverse is formed and the part of A below the diagonal is not
referenced
; if UPLO = 'L' the lower triangular part of the
inverse is formed and the part of A above the diagonal is
not referenced.

These elements zeroized after calling ?GEMM function in ?SYTRI2X.
CALL SGEMM('T','N',NNB,NNB,CUT,ONE,A(1,CUT+1),LDA,
\$ WORK,N+NB+1, ZERO, A(CUT+1,CUT+1), LDA)

Also the error in the description of ?ORCSD/UNCSD functions
IWORK (workspace) INTEGER array, dimension (M-Q)
The dimension of IWORK is M actually.
nmozarto

Posts: 5
Joined: Thu Jan 20, 2011 1:05 am
Location: Intel

Re: Problem in new ?sytri2 function

Thanks again, I just made the correction for ?SYTRI2x

For the error in the description of ?ORCSD/UNCSD functions, I contacted the author of the routine.
Will keep you updated

Julie

Posts: 609
Joined: Wed Dec 08, 2004 7:07 pm

Re: Problem in new ?sytri2 function

Correction was made for IWORK dimension in ?ORCSD/UNCSD

There was indeed an error but that the fix is
incorrect. The correct dimension is (M-R), in which R is the smallest
of P, M-P, Q, and M-Q.

An M-by-M matrix is partitioned into a 2-by-2 block structure. The
dimensions of the blocks are P-by-Q, P-by-(M-Q), (M-P)-by-Q, and
(M-P)-by-(M-Q). IWORK is involved in the permutation of rows or
columns of these blocks, and it is the largest block, in terms of
number of rows or columns, that determines the size of IWORK.

Julie