diff --git a/Project.toml b/Project.toml index 96aaa00..d185f63 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "FastTransforms" uuid = "057dd010-8810-581a-b7be-e3fc3b93f78c" -version = "0.17.4" +version = "0.17.5" [deps] diff --git a/src/libfasttransforms.jl b/src/libfasttransforms.jl index fc3fdef..c42dabc 100644 --- a/src/libfasttransforms.jl +++ b/src/libfasttransforms.jl @@ -1294,4 +1294,5 @@ function modified_jacobi_matrix(R, XP) return XQ end -inv(P::FTPlan{T,2,DISKANALYSIS}) where T = plan_disk_synthesis(T, P.n, P.m) \ No newline at end of file +inv(P::FTPlan{T,2,DISKANALYSIS}) where T = plan_disk_synthesis(T, P.n, P.m) +inv(P::FTPlan{T,2,DISKSYNTHESIS}) where T = plan_disk_analysis(T, P.n, P.m) \ No newline at end of file diff --git a/test/libfasttransformstests.jl b/test/libfasttransformstests.jl index 7828ab0..3fa5dca 100644 --- a/test/libfasttransformstests.jl +++ b/test/libfasttransformstests.jl @@ -174,11 +174,18 @@ FastTransforms.ft_set_num_threads(ceil(Int, Base.Sys.CPU_THREADS/2)) @test inv(pa) isa typeof(ps) @test inv(pa)*(p*A) ≈ ps*(p*A) @test p\(pa*(inv(pa)*(p*A))) ≈ A + @test inv(ps) isa typeof(pa) + @test inv(ps)*(ps*(p*A)) ≈ pa*(ps*(p*A)) ≈ p*A + @test p\(inv(ps)*(ps*(p*A))) ≈ A + @test inv(inv(ps)) isa typeof(ps) + @test inv(inv(pa)) isa typeof(pa) A = diskones(Float64, n, 4n-3) + im*diskones(Float64, n, 4n-3) p = plan_disk2cxf(A, α, β) ps = plan_disk_synthesis(A) pa = plan_disk_analysis(A) test_nd_plans(p, ps, pa, A) + @test inv(pa)*(p*A) ≈ ps*(p*A) + @test inv(ps)*(ps*(p*A)) ≈ p*A A = diskones(Float64, n, 4n-3) p = plan_ann2cxf(A, α, β, 0, ρ)