Merge pull request #1274 from kyungminlee/fix-sggev3-query
Gate SGGEV3 workspace query on ILV, not ILVL
This commit is contained in:
+8
-4
@@ -329,19 +329,23 @@
|
||||
LWKOPT = MAX( LWKMIN, 3*N+INT( WORK( 1 ) ) )
|
||||
CALL SORMQR( 'L', 'T', N, N, N, B, LDB, WORK, A, LDA, WORK,
|
||||
$ -1, IERR )
|
||||
LWKOPT = MAX( LWKOPT, 3*N+INT( WORK( 1 ) ) )
|
||||
CALL SGGHD3( JOBVL, JOBVR, N, 1, N, A, LDA,
|
||||
$ B, LDB, VL, LDVL,
|
||||
$ VR, LDVR, WORK, -1, IERR )
|
||||
LWKOPT = MAX( LWKOPT, 3*N+INT( WORK( 1 ) ) )
|
||||
IF( ILVL ) THEN
|
||||
CALL SORGQR( N, N, N, VL, LDVL, WORK, WORK, -1, IERR )
|
||||
LWKOPT = MAX( LWKOPT, 3*N+INT( WORK( 1 ) ) )
|
||||
END IF
|
||||
IF( ILV ) THEN
|
||||
CALL SGGHD3( JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB, VL,
|
||||
$ LDVL, VR, LDVR, WORK, -1, IERR )
|
||||
LWKOPT = MAX( LWKOPT, 3*N+INT( WORK( 1 ) ) )
|
||||
CALL SLAQZ0( 'S', JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB,
|
||||
$ ALPHAR, ALPHAI, BETA, VL, LDVL, VR, LDVR,
|
||||
$ WORK, -1, 0, IERR )
|
||||
LWKOPT = MAX( LWKOPT, 2*N+INT( WORK( 1 ) ) )
|
||||
ELSE
|
||||
CALL SGGHD3( 'N', 'N', N, 1, N, A, LDA, B, LDB, VL, LDVL,
|
||||
$ VR, LDVR, WORK, -1, IERR )
|
||||
LWKOPT = MAX( LWKOPT, 3*N+INT( WORK( 1 ) ) )
|
||||
CALL SLAQZ0( 'E', JOBVL, JOBVR, N, 1, N, A, LDA, B, LDB,
|
||||
$ ALPHAR, ALPHAI, BETA, VL, LDVL, VR, LDVR,
|
||||
$ WORK, -1, 0, IERR )
|
||||
|
||||
Reference in New Issue
Block a user