The eigd
package uses the adjoint method to compute the total derivative of functions that depend on the eigenvalues and eigenvectors of a generalized eigenvalue problem. The eigenvalue problem takes the form
for
The eigenvectors and eigenvalues can then be used to compute a function of interest as
eigd
takes the derivative of the function of interest with respect to the design variables using the adjoint method.
- Clone this repository, then enter the folder in the command line terminal.
- Enter
pip install -e .
within theeigd
folder.
If you're using eigd
in your work, please cite our paper:
Li, B., Kennedy, G.J. Adjoint methods for computing derivatives of functions of eigenvectors using shift-and-invert preconditioning. Struct Multidisc Optim 68, 4 (2025). https://doi.org/10.1007/s00158-024-03940-6
@article{Li2024,
author = {Li, Bao and Kennedy, Graeme J.},
date = {2024/12/23},
doi = {10.1007/s00158-024-03940-6},
isbn = {1615-1488},
journal = {Structural and Multidisciplinary Optimization},
number = {1},
pages = {4},
title = {Adjoint methods for computing derivatives of functions of eigenvectors using shift-and-invert preconditioning},
url = {https://doi.org/10.1007/s00158-024-03940-6},
volume = {68},
year = {2024}}