Skip to content

Conversation

@stevengj
Copy link
Member

Fixes #8, adding both a forward frule and a reverse rrule for ChebPoly evaluation.

Note that for the rrule, we don't yet support propagating derivatives through to changes in the ChebPoly object itself. It seems like this would involve allocating huge Tangent objects for something that is rarely needed, so I marked it as @notimplemented instead. (@gaurav-arya, do you know a way to do this only when it is desired?)

Nor do we yet have rules for differentiating the ChebPoly constructor functions (e.g. if you want to compute sensitivity of the polynomial outputs to the data used to construct the polynomial). In principle, this should be straightforward since the polynomial construction is linear in the data.

@stevengj stevengj mentioned this pull request Sep 22, 2022
@stevengj stevengj merged commit f972ff4 into master Sep 22, 2022
@stevengj stevengj deleted the chainrules branch September 22, 2022 13:34
@stevengj
Copy link
Member Author

Oh, it looks like if we want to support backpropagation through the polynomial coefficients then we should use a "thunk" tangent to defer computation to the time when it is actually needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add chain rule

2 participants