Skip to content

How to interpolate a matrix? #20

@jwallwork23

Description

@jwallwork23

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