> --
> To post to this group, send an email to sage-...@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>
I get
sage: a.backward_transform()
------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occurred in Sage.
This probably occurred because a *compiled* component
of Sage has a bug in it (typically accessing invalid memory)
or is not properly wrapped with _sig_on, _sig_off.
You might want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate (sorry).
------------------------------------------------------------
if the number of points is a power of two.
From near the end of sage/gsl/fft.pyx:
def backward_transform(self):
cdef gsl_fft_complex_wavetable * wt
cdef gsl_fft_complex_workspace * mem
N = Integer(self.n)
e = N.exact_log(2)
if N==2**e:
gsl_fft_complex_backward(self.data, self.stride, self.n, wt,
mem)
Should this be
gsl_fft_complex_radix2_backward(self.data, self.stride, self.n)
(and similarly for inverse_transform)?
if N!=2**e:
mem = gsl_fft_complex_workspace_alloc(self.n)
wt = gsl_fft_complex_wavetable_alloc(self.n)
gsl_fft_complex_backward(self.data, self.stride, self.n, wt,
mem)
gsl_fft_complex_workspace_free(mem)
gsl_fft_complex_wavetable_free(wt)
That the notebook sometimes doesn't show the SIGSEGV message may be a
different problem.
Yes, this is a fun interplay between two bugs.
I've opened
http://trac.sagemath.org/sage_trac/ticket/10058
for this.