DBDSDC returns non-orthogonal U

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

DBDSDC returns non-orthogonal U

Postby duncanpo » Mon Apr 04, 2011 11:41 am

Hello,

I have come across a case when DBDSDC returns U and VT outputs that are not quite orthogonal in LAPACK 3.3.0. See the attached test program.
For this particular matrix in the test, UT*U has elements in the order of 1e-9. I am expecting if U is orthogonal, UT*U should be at round-off level, in the order of 1e-16.
Note this behavior is only seen in LAPACK 3.3.0. In LAPACK 3.2, DBDSDC returns INFO>0 as it fails to converge.

Thanks.

Duncan
Attachments
dbdsdctest2.tar.gz
(79.83 KiB) Downloaded 44 times
duncanpo
 
Posts: 4
Joined: Fri Apr 01, 2011 5:09 pm

Re: DBDSDC returns non-orthogonal U (*updated*)

Postby rodney » Tue Apr 05, 2011 2:58 pm

This problem can apparently be fixed by changing line 290 in dbdsdc.f:

- EPS = DLAMCH( 'Epsilon' )
+ EPS = 0.9*DLAMCH( 'Epsilon' )

The LAPACK SVN repository has been updated with this change for dbdsdc.f

The test problem with this change returns:

Info from dbdsdc is: 0
max difference between u'*u and identity matrix is: 2.22045e-15

(edited 7 April to reflect the improved fix that is now included in the svn repository)

--Rodney
rodney
 
Posts: 49
Joined: Thu Feb 10, 2011 8:20 pm
Location: Colorado College


Return to Bug report

Who is online

Users browsing this forum: No registered users and 1 guest

cron