As reported by Mike Roberts here: https://github.com/sympy/sympy/issues/9593
I have encountered some unexpected behavior in the sympy.utilities.autowrap module. I believe I am running into an undocumented hard-coded limit on the number of symbols I can pass intosympy.utilities.autowrap.ufuncify(...). Here is the code snippet that demonstrates the unexpected behavior I'm seeing. from pylab import * import sympy import sympy.utilities.autowrap zero_expr = sympy.sympify("0") num_syms = 31 syms = [ sympy.Symbol("x_%02d"%i) for i in range(num_syms) ] vals = zeros(len(syms)) zero_expr_ufuncify = sympy.utilities.autowrap.ufuncify(args=syms,expr=zero_expr,backend="numpy",verbose=True) # works print zero_expr_ufuncify(*vals) print num_syms = 31 syms = [ sympy.Symbol("x_%099d"%i) for i in range(num_syms) ] vals = zeros(len(syms)) zero_expr_ufuncify = sympy.utilities.autowrap.ufuncify(args=syms,expr=zero_expr,backend="numpy",verbose=True) # also works print zero_expr_ufuncify(*vals) print num_syms = 32 syms = [ sympy.Symbol("x_%02d"%i) for i in range(num_syms) ] vals = zeros(len(syms)) zero_expr_ufuncify = sympy.utilities.autowrap.ufuncify(args=syms,expr=zero_expr,backend="numpy",verbose=True) # doesn't work print "about to evaluate ufunc with 32 args..." print zero_expr_ufuncify(*vals) print The first two calls to zero_expr_ufuncify(*vals) behave as expected, returning 0.0. But the last call tozero_expr_ufuncify(*vals) causes a segmentation fault. The exact error I'm getting is as follows. Segmentation fault: 11 The only difference between these calls is that sympy.utilities.autowrap.ufuncify(...) was called with symbol lists of different lengths. For both behaves-as-expected calls, the corresponding symbol list is of length 31. For the does-not-behave-as-expected call, the corresponding symbol list is of length 32. Note that the second call has a corresponding symbol list of length 31, but the symbols have very long names. Since this call behaves as expected, I believe this is not a problem of the generated C code having too many ASCII characters on a single line. Note that I also found a post describing a similar issue on the Google Group. However, the code example from the Google Group is targeting a Fortran backend. Therefore, I believe the issue on the Google Group is different to the one I'm reporting here. https://groups.google.com/forum/#!searchin/sympy/ufuncify/sympy/kgzcR8Qu7s4/RAGTw7A0I3oJ I'm running sympy 0.7.6-1, which I installed via the Canopy Package Manager on OSX Yosemite 10.10.3, 64 bit. *AMiT Kumar* -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/53c70982-5b8a-4b0f-a4cc-cedeed1a8ed3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.