Page 1 of 1

?(sy/he)tri2 function could pass NB>N to ?(sy/he)tri2x

PostPosted: Fri Mar 04, 2011 1:51 am
by nmozarto
Problem in ?(sy/he)tri2 was found.

For matrices with small N subroutine pass parameter NBMAX to ?(sy/he)tri2x which could be large than N.
In test for this functionality this is hide. Local test subroutine ilaenv.f pass proper values of NB. But if use ordinary ilaenv we will get mistake.

If we implemented

IF ( NBMAX .GE. N ) THEN
MINSIZE = N
ELSE
MINSIZE = (N+NBMAX+1)*(NBMAX+3)
END IF

and will call

IF( NBMAX .GE. N ) THEN
CALL SSYTRI( UPLO, N, A, LDA, IPIV, WORK, INFO )
ELSE
CALL SSYTRI2X( UPLO, N, A, LDA, IPIV, WORK, NBMAX, INFO )
END IF

the problem will be solved.

Re: ?(sy/he)tri2 function could pass NB>N to ?(sy/he)tri2x

PostPosted: Fri Mar 04, 2011 4:49 pm
by admin
Indeed!
Thanks for reporting the problem and submitting a fix.
This has been corrected in the LAPACK repository and added in the 3.3.0 Errata (http://www.netlib.org/lapack/Errata/index2.html)
Julie