Skip to content

Commit c4b449f

Browse files
authored
Fix a few typos (#603)
1 parent ed9a007 commit c4b449f

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed

docs/src/ad_author/use_in_ad_system.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ There are 3 main ways to access ChainRules rule sets in your AutoDiff system.
1212
- This is primarily intended for operator overloading based AD systems which will generate overloads for primal functions based for their overloaded types based on the existence of an `rrule`/`frule`.
1313
- A source code generation based AD can also use this by overloading their transform generating function directly so as not to recursively generate a transform but to just return the rule.
1414
- This does not play nice with Revise.jl, adding or modifying rules in loaded files will not be reflected until a manual refresh, and deleting rules will not be reflected at all.
15-
2. Source code tranform based on inserting branches that check of `rrule`/`frule` return `nothing`
15+
2. Source code transform based on inserting branches that check of `rrule`/`frule` return `nothing`
1616
- If the `rrule`/`frule` returns a rule result then use it, if it returns `nothing` then do normal AD path.
17-
- In theory type inference optimizes these branchs out; in practice it may not.
17+
- In theory type inference optimizes these branches out; in practice it may not.
1818
- This is a fairly simple Cassette overdub (or similar) of all calls, and is suitable for overloading based AD or source code transformation.
1919
3. Source code transform based on `rrule`/`frule` method-table
2020
- If an applicable `rrule`/`frule` exists in the method table then use it, else generate normal AD path.
2121
- This avoids having branches in your generated code.
2222
- This requires maintaining your own back-edges.
23-
- This is pretty hardcore even by the standard of source code tranformations.
23+
- This is pretty hardcore even by the standard of source code transformations.

docs/src/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ end
9090
where `y = foo(args; kwargs...)` is the primal output, and `∂Y` is the result of propagating the input tangents `Δself`, `Δargs...` forwards at the point in the domain of `foo` described by `args`.
9191
This propagation is called the pushforward.
9292
Often we will think of the `frule` as having the primal computation `y = foo(args...; kwargs...)`, and the pushforward `∂Y = pushforward(Δself, Δargs...)`,
93-
even though they are not present in seperate forms in the code.
93+
even though they are not present in separate forms in the code.
9494

9595
For example, the `frule` for `sin(x)` is:
9696
```julia
@@ -146,7 +146,7 @@ Vector, matrix, and higher rank tensor primals can be represented by vector, mat
146146
ChainRules defines a [`Tangent`](@ref) tangent type to represent tangents of `struct`s, `Tuple`s, `NamedTuple`s, and `Dict`s.
147147

148148
Additionally, for signalling semantics, we distinguish between two tangent types representing a zero tangent.
149-
[`NoTangent`](@ref) type represent situtations in which the tangent space does not exist, e.g. an index into an array can not be perturbed.
149+
[`NoTangent`](@ref) type represent situations in which the tangent space does not exist, e.g. an index into an array can not be perturbed.
150150
[`ZeroTangent`](@ref) is used for cases where the tangent happens to be zero, e.g. because the primal argument is not used in the computation.
151151

152152
We also define [`Thunk`](@ref)s to allow certain optimisation.

docs/src/rule_author/tangents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Further they often support other linear operators for convenience in writing rul
2121

2222
## The subtypes of AbstractTangent
2323

24-
Not all tangents need to subtype the AbstractTangent type -- infact most don't: most are just numbers or arrays -- but ChainRulesCore does provide a number of special tangent types that can be very useful.
24+
Not all tangents need to subtype the AbstractTangent type -- in fact most don't: most are just numbers or arrays -- but ChainRulesCore does provide a number of special tangent types that can be very useful.
2525

2626
- [`ZeroTangent`](@ref): It is a special representation of `0`. It does great things around avoiding expanding `Thunks` in addition.
2727
- [`NoTangent`](@ref): Zero-like, represents that the operation on this input is not differentiable. Its primal type is normally `Integer` or `Bool`.

docs/src/rule_author/writing_good_rules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ They should be used where possible.
4040
However, sometimes for performance reasons this is not ideal.
4141
Especially, if it is to replace a scalar, and is in a type-unstable way.
4242
It causes problems if mapping over such pullbacks/pushforwards.
43-
This woull be solved once [JuliaLang/julia#38241](https://github.com/JuliaLang/julia/issues/38241) has been addressed.
43+
This would be solved once [JuliaLang/julia#38241](https://github.com/JuliaLang/julia/issues/38241) has been addressed.
4444

4545
## Use `Thunk`s appropriately
4646

docs/src/videos.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
For people who learn better by video we have a number of videos of talks we have given about the ChainRules project.
44
Note however, that the videos are frozen in time reflecting the state of the packages at the time they were recorded.
5-
This documentation is the continously updated canonical source.
5+
This documentation is the continuously updated canonical source.
66
However, we have tried to note below each video notes on its correctness.
77

88
The talks that follow are in reverse chronological order (i.e. most recent video is first).

0 commit comments

Comments
 (0)