Skip to content

Inconsistent blaze::geev error #6971

@iago-mendes

Description

@iago-mendes

While running ValenciaDivClean/Test_Characteristics.cpp like this branch https://github.com/iago-mendes/spectre/tree/blaze_debug, I encountered cases in which blaze::geev gives the incorrect eigenvalues for a given matrix. This error has been hard to reproduce, as it only occurs sporadically. Below are two examples in which this error occurred, where A is the given matrix, Vgeev are the eigenvalues found using blaze:geev, Vgsl are the eigenvalues found using gsl_eigen_nonsymmv, and Vmath are the eigenvalues found using Mathematica.

(all eigenvalues were sorted to make the eye comparison easier)

Example 1:

A = {
           {0.0043409934083411, -0.8556368138952061, 0.0307660213562465, 0.0402283816067207, -0.0347894077478863},
           {0.0004803425434213, 0.0397894647750577, -0.0040443144393637, -0.0058285553124049, -0.4912769621948500},
           {0.0001656795863971, 0.0061109321643726, 0.0273192878134130, -0.0002873098808851, 0.0002484648946066},
           {0.0002405146299907, 0.0088711507577635, -0.0003189788111446, 0.0271219342566748, 0.0003606928499252},
           {-0.0043409934083411, -0.1599604751262468, 0.0058524717621388, 0.0076675644321465, 0.0347894077478863}
};
Vgeev = {-0.2550444444625936, -0.1458628021088513, -0.0680133672383722, 0.0275390178044822, 0.0275390178044822};
Vgsl = {-0.2550444444625938, 0.0275390178044822, 0.0275390178044822, 0.0275390178044822, 0.3057884790505199};
Vmath = {-0.255044, 0.027539, 0.027539, 0.027539, 0.305788};

Example 2:

A = {
           {-0.0003546422755355, -0.8584116785178478, -0.0392639220861926, 0.0339371200568426, 0.0029063484600821},
           {-0.0001962778195335, -0.0047639214136580, -0.0114576256622067, 0.0093489244595455, -0.4923241315152697},
           {-0.0000441261863120, 0.0195463906447081, -0.0013984600147501, -0.0007727623267344, -0.0000661787622094},
           {0.0000346911277737, -0.0153669825571455, -0.0007028888596500, -0.0016849855054232, 0.0000520284232015},
           {0.0003546422755355, -0.1573026013380388, -0.0072214688152317, 0.0062404661642375, -0.0029063484600821}
};
Vgeev = {-0.2800644884916620, -0.0022925158373191, -0.0022925158373191, -0.0022925158373191, 0.0000000000000000};
Vgsl = {-0.2800644884916624, -0.0022925158373191, -0.0022925158373191, -0.0022925158373184, 0.2758336783341701};
Vmath = {-0.280064, -0.00229252, -0.00229252, -0.00229252, 0.275834};

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions