Skip to content

How to interpolate a matrix? #20

Description

@joewallwork

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions