From e5757e68eee446b9456328f817e1237a69f1d0db Mon Sep 17 00:00:00 2001 From: Simon Maertens Date: Thu, 30 Jul 2026 15:13:24 +0200 Subject: [PATCH] TESTING: scale the xGEDMDQ residual check by SINGVQX(KQ) SINGVQX is only filled to KQ, so SINGVQX(K) read uninitialized memory whenever DGEDMD's rank K exceeded DGEDMDQ's KQ -- harmless in the default API by luck, an abort in the _64 build. cchkdmd/zchkdmd already use KQ. Co-Authored-By: Claude Opus 5 (1M context) --- TESTING/EIG/dchkdmd.f90 | 2 +- TESTING/EIG/schkdmd.f90 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TESTING/EIG/dchkdmd.f90 b/TESTING/EIG/dchkdmd.f90 index 948f9dcb1..1ec5b4e93 100644 --- a/TESTING/EIG/dchkdmd.f90 +++ b/TESTING/EIG/dchkdmd.f90 @@ -650,7 +650,7 @@ TMP = ZERO DO i = 1, KQ TMP = MAX( TMP, ABS(RES(i) - RES1(i)) * & - SINGVQX(K)/(ANORM*SINGVQX(1)) ) + SINGVQX(KQ)/(ANORM*SINGVQX(1)) ) END DO TMP_REZQ = MAX( TMP_REZQ, TMP ) IF ( TMP > TOL2 ) THEN diff --git a/TESTING/EIG/schkdmd.f90 b/TESTING/EIG/schkdmd.f90 index d1d6b29df..f7aeff355 100644 --- a/TESTING/EIG/schkdmd.f90 +++ b/TESTING/EIG/schkdmd.f90 @@ -631,7 +631,7 @@ TMP = ZERO DO i = 1, KQ TMP = MAX( TMP, ABS(RES(i) - RES1(i)) * & - SINGVQX(K)/(ANORM*SINGVQX(1)) ) + SINGVQX(KQ)/(ANORM*SINGVQX(1)) ) END DO TMP_REZQ = MAX( TMP_REZQ, TMP ) IF ( TMP > TOL2 ) THEN