Lapack: [Version 3.9.0] Endlosschleife in slasq3

Erstellt am 21. Jan. 2020  ·  7Kommentare  ·  Quelle: Reference-LAPACK/lapack

Wenn die Eingabeparameter für "slasq3" folgendem Muster folgen:
i0 =3, n0=16, pp=1,desig=0.2f, qmax=0.2f, nfail=4,iter=1, ndiv = 2, ieee = 0, ttype = -1
Diese Funktion fällt in eine Endlosschleife zwischen den Codezeilen 332 ~ 362.
100% reproduzieren.

Hilfreichster Kommentar

Hätten Sie dafür zufällig einen vollständigen Reproduzierer, insbesondere mit den im Array z enthaltenen Werten? Ich kann das Problem mit den von Ihnen bereitgestellten Daten und einem zufälligen z nicht reproduzieren, und ich kann mir vorstellen, dass schlimme Dinge passieren werden, wenn nicht sogar wenn eines der Array-Elemente ein NaN ist.

Alle 7 Kommentare

Glaubst du, das hat in früheren Versionen funktioniert? AFAIK keine der slasq-Funktionen wurde seit mindestens 3.7.0 modifiziert. Nach Ihrer Beschreibung ist es eine Schleife, da TAU nie klein genug wird?

Glaubst du, das hat in früheren Versionen funktioniert? AFAIK keine der slasq-Funktionen wurde seit mindestens 3.7.0 modifiziert. Nach Ihrer Beschreibung ist es eine Schleife, da TAU nie klein genug wird?

Entschuldigung, ich habe bisher nur 3.9.0 verifiziert, da dies die einzige verfügbare Version ist.

Hätten Sie dafür zufällig einen vollständigen Reproduzierer, insbesondere mit den im Array z enthaltenen Werten? Ich kann das Problem mit den von Ihnen bereitgestellten Daten und einem zufälligen z nicht reproduzieren, und ich kann mir vorstellen, dass schlimme Dinge passieren werden, wenn nicht sogar wenn eines der Array-Elemente ein NaN ist.

wenn dmin nan ist, sollte es auf einen legitimen falschen Wert gesetzt werden; würde die Unendlichkeit verhindern.

Ich habe auch darüber nachgedacht, aber wenn ich mit den Regeln für den Vergleich mit NaN richtig liege, ist dies wahrscheinlich nicht das Problem.

Keine Endlosschleife mit 4b3c7c249f6a2cfed76603d9987cf5164fa6f9e1 zum Erstellen des Codes:

      PROGRAM testSLASQ3
      IMPLICIT NONE

*     .. Scalar Arguments ..
      LOGICAL            IEEE
      INTEGER            I0, ITER, N0, NDIV, NFAIL, PP, TTYPE
      REAL               DESIG, DMIN, DMIN1, DMIN2, DN, DN1, DN2, G,
     &                   QMAX, SIGMA, TAU
*     .. Array Arguments ..
      REAL               Z( 64 )
*     .. Subroutines ..
      EXTERNAL           SLASQ3

      PARAMETER ( IEEE=.FALSE. )
      PARAMETER ( I0 = 3 )
      PARAMETER ( QMAX = 1.0 )

      ITER=1
      N0=16
      NDIV=2
      NFAIL=4
      PP=1
      TTYPE=-1
      DESIG=0.2
      DMIN1=0.1
      DMIN2=0.1
      DN=1.0
      DN1=1.0
      DN2=1.0
      G=1.0
      TAU=1.0

      Z = (/0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,
     &      0.1,0.2,0.3,0.4,0.5,0.6,
     &      0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,
     &      0.1,0.2,0.3,0.4,0.5,0.6,
     &      0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,
     &      0.1,0.2,0.3,0.4,0.5,0.6,
     &      0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,
     &      0.1,0.2,0.3,0.4,0.5,0.6/)

      CALL SLASQ3( I0, N0, Z, PP, DMIN, SIGMA, DESIG, QMAX, NFAIL,
     &                   ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1,
     &                   DN2, G, TAU )

      END PROGRAM testSLASQ3

Lassen Sie uns dieses Thema basierend auf dem
@Peter9606 vielen Dank für die Meldung des Problems. Wenn das Problem erneut
Julien.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen