Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion SRC/cgedmd.f90
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@
!> 'Y' :: The data snapshots matrices X and Y are multiplied
!> by a diagonal matrix D so that Y*D has unit
!> nonzero columns (in the Euclidean 2-norm)
!> If all columns of Y are zero, the procedure returns
!> with INFO = -10.
!> 'N' :: No data scaling.
!> \endverbatim
!.....
Expand Down Expand Up @@ -467,7 +469,8 @@
!> \verbatim
!> INFO (output) INTEGER
!> -i < 0 :: On entry, the i-th argument had an
!> illegal value
!> illegal value. If JOBS == 'Y' and all columns
!> of Y are zero, INFO = -10.
!> = 0 :: Successful return.
!> = 1 :: Void input. Quick exit (M=0 or N=0).
!> = 2 :: The SVD computation of X did not converge.
Expand Down Expand Up @@ -833,6 +836,7 @@ SUBROUTINE CGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
! The columns of Y will be normalized.
! To prevent overflows, the column norms of Y are
! carefully computed using CLASSQ.
K = 0
DO i = 1, N
!RWORK(i) = SCNRM2( M, Y(1,i), 1 )
SSUM = ONE
Expand Down Expand Up @@ -868,8 +872,17 @@ SUBROUTINE CGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
END IF
ELSE
RWORK(i) = ZERO
K = K + 1
END IF
END DO
IF ( K == N ) THEN
! All columns of Y are zero. Return error code -10.
! (the 10th input variable had an illegal value)
K = 0
INFO = -10
CALL XERBLA('CGEDMD',-INFO)
RETURN
END IF
DO i = 1, N
! Now, apply the same scaling to the columns of X.
IF ( RWORK(i) > ZERO ) THEN
Expand Down
15 changes: 14 additions & 1 deletion SRC/dgedmd.f90
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,8 @@
!> 'Y' :: The data snapshots matrices X and Y are multiplied
!> by a diagonal matrix D so that Y*D has unit
!> nonzero columns (in the Euclidean 2-norm)
!> If all columns of Y are zero, the procedure returns
!> with INFO = -10.
!> 'N' :: No data scaling.
!> \endverbatim
!.....
Expand Down Expand Up @@ -501,7 +503,8 @@
!> \verbatim
!> INFO (output) INTEGER
!> -i < 0 :: On entry, the i-th argument had an
!> illegal value
!> illegal value. If JOBS == 'Y' and all columns
!> of Y are zero, INFO = -10.
!> = 0 :: Successful return.
!> = 1 :: Void input. Quick exit (M=0 or N=0).
!> = 2 :: The SVD computation of X did not converge.
Expand Down Expand Up @@ -854,6 +857,7 @@ SUBROUTINE DGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
! The columns of Y will be normalized.
! To prevent overflows, the column norms of Y are
! carefully computed using DLASSQ.
K = 0
DO i = 1, N
!WORK(i) = DNRM2( M, Y(1,i), 1 )
SSUM = ONE
Expand Down Expand Up @@ -889,8 +893,17 @@ SUBROUTINE DGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
END IF
ELSE
WORK(i) = ZERO
K = K + 1
END IF
END DO
IF ( K == N ) THEN
! All columns of Y are zero. Return error code -10.
! (the 10th input variable had an illegal value)
K = 0
INFO = -10
CALL XERBLA('DGEDMD',-INFO)
RETURN
END IF
DO i = 1, N
! Now, apply the same scaling to the columns of X.
IF ( WORK(i) > ZERO ) THEN
Expand Down
15 changes: 14 additions & 1 deletion SRC/sgedmd.f90
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@
!> 'Y' :: The data snapshots matrices X and Y are multiplied
!> by a diagonal matrix D so that Y*D has unit
!> nonzero columns (in the Euclidean 2-norm)
!> If all columns of Y are zero, the procedure returns
!> with INFO = -10.
!> 'N' :: No data scaling.
!> \endverbatim
!.....
Expand Down Expand Up @@ -501,7 +503,8 @@
!> \verbatim
!> INFO (output) INTEGER
!> -i < 0 :: On entry, the i-th argument had an
!> illegal value
!> illegal value. If JOBS == 'Y' and all columns
!> of Y are zero, INFO = -10.
!> = 0 :: Successful return.
!> = 1 :: Void input. Quick exit (M=0 or N=0).
!> = 2 :: The SVD computation of X did not converge.
Expand Down Expand Up @@ -854,6 +857,7 @@ SUBROUTINE SGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
! The columns of Y will be normalized.
! To prevent overflows, the column norms of Y are
! carefully computed using SLASSQ.
K = 0
DO i = 1, N
!WORK(i) = DNRM2( M, Y(1,i), 1 )
SSUM = ONE
Expand Down Expand Up @@ -889,8 +893,17 @@ SUBROUTINE SGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
END IF
ELSE
WORK(i) = ZERO
K = K + 1
END IF
END DO
IF ( K == N ) THEN
! All columns of Y are zero. Return error code -10.
! (the 10th input variable had an illegal value)
K = 0
INFO = -10
CALL XERBLA('SGEDMD',-INFO)
RETURN
END IF
DO i = 1, N
! Now, apply the same scaling to the columns of X.
IF ( WORK(i) > ZERO ) THEN
Expand Down
15 changes: 14 additions & 1 deletion SRC/zgedmd.f90
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,8 @@
!> 'Y' :: The data snapshots matrices X and Y are multiplied
!> by a diagonal matrix D so that Y*D has unit
!> nonzero columns (in the Euclidean 2-norm)
!> If all columns of Y are zero, the procedure returns
!> with INFO = -10.
!> 'N' :: No data scaling.
!> \endverbatim
!.....
Expand Down Expand Up @@ -467,7 +469,8 @@
!> \verbatim
!> INFO (output) INTEGER
!> -i < 0 :: On entry, the i-th argument had an
!> illegal value
!> illegal value. If JOBS == 'Y' and all columns
!> of Y are zero, INFO = -10.
!> = 0 :: Successful return.
!> = 1 :: Void input. Quick exit (M=0 or N=0).
!> = 2 :: The SVD computation of X did not converge.
Expand Down Expand Up @@ -833,6 +836,7 @@ SUBROUTINE ZGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
! The columns of Y will be normalized.
! To prevent overflows, the column norms of Y are
! carefully computed using ZLASSQ.
K = 0
DO i = 1, N
!RWORK(i) = DZNRM2( M, Y(1,i), 1 )
SSUM = ONE
Expand Down Expand Up @@ -868,8 +872,17 @@ SUBROUTINE ZGEDMD( JOBS, JOBZ, JOBR, JOBF, WHTSVD, &
END IF
ELSE
RWORK(i) = ZERO
K = K + 1
END IF
END DO
IF ( K == N ) THEN
! All columns of Y are zero. Return error code -10.
! (the 10th input variable had an illegal value)
K = 0
INFO = -10
CALL XERBLA('ZGEDMD',-INFO)
RETURN
END IF
DO i = 1, N
! Now, apply the same scaling to the columns of X.
IF ( RWORK(i) > ZERO ) THEN
Expand Down
Loading