Line 466 of abstract.c should be: if (PyFloat_Check(v) && PyFloat_Check(w) && PyFloat_AsDouble(v) < 0.0) { This was the reason a numeric array to a real power was not working.