You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Eagerly invert plan on formation of AdjointPlan: correct eltype and remove output_size (#113)
* Eagerly compute inv(p) in adjoint plans, and use it to fix eltype and
remove output_size
* Remove output_size tests, replace with size test for all plans in TestUtils
* Ensure <= 1 pass over array in adjoint application
* Try to fix type stability issues
* Fix another type instability
* Replace division with multiplication in adjoint loop
* Switch isapprox to equality
Co-authored-by: Steven G. Johnson <stevenj@mit.edu>
* Lift out multiply-by-2
---------
Co-authored-by: Steven G. Johnson <stevenj@mit.edu>
Copy file name to clipboardExpand all lines: docs/src/implementations.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ To define a new FFT implementation in your own module, you should
35
35
36
36
* To support adjoints in a new plan, define the trait [`AbstractFFTs.AdjointStyle`](@ref).
37
37
`AbstractFFTs` implements the following adjoint styles: [`AbstractFFTs.FFTAdjointStyle`](@ref), [`AbstractFFTs.RFFTAdjointStyle`](@ref), [`AbstractFFTs.IRFFTAdjointStyle`](@ref), and [`AbstractFFTs.UnitaryAdjointStyle`](@ref).
38
-
To define a new adjoint style, define the methods[`AbstractFFTs.adjoint_mul`](@ref) and [`AbstractFFTs.output_size`](@ref).
38
+
To define a new adjoint style, define the method[`AbstractFFTs.adjoint_mul`](@ref).
39
39
40
40
The normalization convention for your FFT should be that it computes ``y_k = \sum_j x_j \exp(-2\pi i j k/n)`` for a transform of
41
41
length ``n``, and the "backwards" (unnormalized inverse) transform computes the same thing but with ``\exp(+2\pi i jk/n)``.
0 commit comments