LLNL / serac

Serac is a high order nonlinear thermomechanical simulation code
BSD 3-Clause "New" or "Revised" License
173 stars 30 forks source link

Eigendecomposition of 3x3 symmetric tensors #1144

Closed btalamini closed 1 month ago

btalamini commented 1 month ago

Implements the Scherzinger-Dohrmann fast and accurate eigendecomposition of 3x3 symmetric matrices. I am intentionally not implementing derivatives, and avoiding the non-differentiability of the eigenvectors at eigenvalue degeneracies. The envisioned use case is for computing isotropic tensor functions, which themselves are differentiable even when repeated eigenvalues occur (where the underlying scalar function is differentiable, of course). I will add some of the commonly used ones in a successive PR.

btalamini commented 1 month ago

@samuelpmishLLNL, this is ready to review. Would you mind taking a look?