This Website is not fully compatible with Internet Explorer.
For a more complete and secure browsing experience please consider using Microsoft Edge, Firefox, or Chrome

What Constitutes an Industrial Strength Eigensolver? Evaluating Solvers for Structural Modal Analysis



Abstract


In the interest of comparing and analysing Microsoft Windows-based eigensolvers for structural Finite Element problems in civil engineering, we construct a series of checks that can be used for sparse symmetric generalised eigenvalue problems. These are based on algorithmic error analysis and allow us to connect eigenvalue theory to a user-prescribed allowable error in eigenvalues and eigenvectors as a function of the unit roundoff in finite precision arithmetic. While the checks are themselves not new, i.e. they are based on existing literature, to our knowledge there is no exists no definitive list of comprehensive minimum criteria that an generalized eigenvalue solver must satisfy. Our test framework consists of three categories of tests. The first of these tests for correctness as defined by a bounded forward error, obtained (where feasible) by comparison with a dense "direct" eigensolver. By direct we imply an eigensolver that computes all eigenpairs of a given matrix, usually by diagonalising the matrix pencil using a variant of the QR-algorithm family. The second category tests numerical robustness. Here we use three checks, the first of which is based on the backward error of the computed eigenpair. We compute the backward error and compare it against the unit roundoff of the underlying floating point type. This allows us to ensure that our eigensolver is backward stable and bounds our backward error to a modest multiple of the roundoff error. The second test looks for eigenvector orthogonality since the eigenvectors of a generalized eigenvalue problem are either mass or stiffness orthogonal. Projection-based eigenvalue solvers (such as those used for sparse eigenvalue problems) suffer from a loss of orthogonality of eigenvectors, and the resultant eigenvectors can deviate from being stiffness- or mass-orthogonal. This test allows us to measure the loss of said orthogonality as a function of machine precision. The final test is an eigenvalue counting method to check that all eigenvalues within a given interval have been retrieved. The final category compares runtime performance to ensure there are no performance regressions for the end-user. We use this test framework in combination with a suite of real-world problems to compare a variety of sparse eigensolvers that work on Windows, written in C++. Our suite consists of FEM problems with a wide spectrum of different properties that can be used with this testing framework or others. It is executed in an automated "continuous integration" pipeline every time there is a change to the source code of the software. We argue that this is the minimal set of questions that users must ask of their eigensolvers, and in conclusion we present the resultant answers representing the state of the art for sparse windows eigensolvers in 2020. Our investigations show that there are very few solvers that can be embedded into modelling programs off the shelf, and they also uncover a variety of issues in several well-known libraries.

Document Details

ReferenceNWC21-509-c
AuthorHickey. C
LanguageEnglish
TypePresentation Recording
Date 26th October 2021
OrganisationArup
RegionGlobal

Download


Back to Previous Page