Skip to content

[Docs] [AutoDiff] Fix incorrectly rendered table and dead link. #28721

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 12, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions docs/DifferentiableProgramming.md
Original file line number Diff line number Diff line change
Expand Up @@ -2016,10 +2016,11 @@ differentiating either one will provide derivatives with respect to parameters
`T` and `U`. Here are some examples of first-order function types and their
corresponding curried function types:

| First-order function type | Curried function type |
| @differentiable (T, U) -> V | @differentiable (T) -> @differentiable (U) -> V |
| @differentiable (T, @noDerivative U) -> V | @differentiable (T) -> (U) -> V |
| @differentiable (@noDerivative T, U) -> V | (T) -> @differentiable (U) -> V |
| First-order function type | Curried function type |
|---------------------------------------------|---------------------------------------------------|
| `@differentiable (T, U) -> V` | `@differentiable (T) -> @differentiable (U) -> V` |
| `@differentiable (T, @noDerivative U) -> V` | `@differentiable (T) -> (U) -> V` |
| `@differentiable (@noDerivative T, U) -> V` | `(T) -> @differentiable (U) -> V` |

A curried differentiable function can be formed like any curried
non-differentiable function in Swift.
Expand Down Expand Up @@ -2540,9 +2541,7 @@ func valueWithDifferential<T: FloatingPoint, U: Differentiable>(

To differentiate `valueWithDifferential`, we need to be able to differentiate
its return value, a tuple of the original value and the differential, with
respect to its `x` argument. Since the return type contains a function,
[differentiation of higher-order functions](#differentiation-of-higher-order-functions)
is required for differentiating this differential operator.
respect to its `x` argument.

A kneejerk solution is to differentiate derivative functions generated by the
differentiation transform at compile-time, but this leads to problems. For
Expand Down