-
Notifications
You must be signed in to change notification settings - Fork 27
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
Spin-weighted transforms fail N=41 #162
Comments
The almost trivial case |
Thanks for these bug reports. Let's start with the using FastTransforms, LinearAlgebra
for N in 2:1000
M = 2N-1
F = ones(ComplexF64, N, M);
PA = plan_spinsph_analysis(F, 0)
C = copy(F);
lmul!(PA, C)
if norm(C[1] - sqrt(2π)) > sqrt(eps())
println("This is the failure: ", N)
end
if N÷100 == N/100
println("N = ", N)
end
end My output is This is the failure: 25
This is the failure: 61
This is the failure: 85
N = 100
This is the failure: 113
This is the failure: 145
This is the failure: 181
This is the failure: 182
N = 200
This is the failure: 215
This is the failure: 254
This is the failure: 265
N = 300
This is the failure: 303
This is the failure: 313
N = 400
N = 500
N = 600
N = 700
N = 800
N = 900
N = 1000 Changing the This is the failure: 61
N = 100
This is the failure: 145
This is the failure: 181
N = 200
This is the failure: 265
N = 300
N = 400
This is the failure: 421
This is the failure: 481
N = 500
N = 600
N = 700
N = 800
This is the failure: 841
N = 900
This is the failure: 925
N = 1000 Two possible hypotheses: 1. there's an issue with the use of the variables |
As far as casting between |
JuliaApproximation/FastTransforms.jl#162 can't use an aliased pointer when the two arrays are genuinely different in the execution
The issues seems to be fixed when building from source with the latest commit MikaelSlevinsky/FastTransforms@29d9e87. (I guess the real issue is that I don't know how to use FFTW in C.) I think I'll go ahead and tag a new release. |
Thank you! |
This code fragment fails for me.
It works fine when I define
N
to a different value (anything different from 41). ForN=41
, the result is either wrong or contains nans. Sometimes, this problem only occurs the second time, hence I added afor
loop.I have FastTransforms v0.13.3 installed.
The text was updated successfully, but these errors were encountered: