Skip to content

chainrules for chebpoly constructors #10

Open
@stevengj

Description

@stevengj

It would be nice, in principle, to define chainrules for the chebpoly constructors, so that we support computation of sensitivities of e.g. polynomial evaluations to the data used to construct the polynomial.

In principle Zygote can do this for us, but it seems to be incredibly slow. (Before we implemented the rrule in #9, it was taking over an hour to backpropagate through a ChebPoly evaluation.)

There are a couple of pieces to implement here. First, chain rules for chebinterp and chebregression, which should be very straightforward since they are linear operations. Second, we need to fix the @notimplemented in the rrule for ChebPoly evaluation (#9) to optionally compute the tangent for sensitivity to polynomial coefficients and bounds — this will need a "thunk" tangent of some sort in order to defer the computation until/unless it is actually needed, because the coefficient tangent is both large and expensive to compute.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions