Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to interpolate a matrix? #20

Open
jwallwork23 opened this issue Jul 27, 2022 · 0 comments
Open

How to interpolate a matrix? #20

jwallwork23 opened this issue Jul 27, 2022 · 0 comments
Labels
question Further information is requested

Comments

@jwallwork23
Copy link
Contributor

In the combined adaptation-optimisation method, the mesh typically changes between optimisation iterations, so we need to transfer various pieces of data between meshes. If the control is not in R-space (i.e. is spatially varying), we need to transfer the control and its gradient, at the very least. Both of these can be interpreted as Functions, so transferring them is not a problem.

In the case of BFGS (and L-BFGS), we keep track of the Hessian approximation $B$ and modify the approximation at each optimisation iteration. However, if the control space changes from having $m$ degrees of freedom (DoFs) to having $n$ DoFs, then the size of $B$ changes from $m\times m$ to $n\times n$. We need to think carefully about how to transfer this data between meshes.

An initial thought is that if we have a linear transfer operator, which can be written as a matrix $R\in\mathbb R^{n\times m}$ then $RBR^T\in\mathbb R^{n\times n}$ would be of the appropriate dimension. Whether this is a good idea or not is something we would need to investigate.

@jwallwork23 jwallwork23 added the question Further information is requested label Jul 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant