Skip to content

Low Storage Methods #743

@luke-a-thompson

Description

@luke-a-thompson

Hi,

I've been working on low-storage Runge-Kutta methods recently, in particular Williamson 2N methods.

These methods compute the ODE flow via a recursive scheme that only uses two registers, so they can be useful in memory-constrained settings like PDE solves. The tradeoff is usually that they need more stages for a given order.

I put together an implementation here: diffrax-lowstorage.

At the moment it includes:

  • a 2N solver class with substantially lower memory use at the same order,
  • embedded error estimates,
  • and two well-known methods.

@patrick-kidger, would there be any interest in merging something like this into Diffrax? I'd be happy to open a PR and make whatever changes you think would be needed.

As far as I know, the only other mainstream library with this kind of support is Diffeq.jl LowStorageRK, so it could be a nice addition.

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions