The magnitude of the output of the struve function blows up when the second argument approaches 50, apparently regardless of the first argument (tested with 0, 1, 2).
When evaluating struveh(1, 30):
- mpmath/scipy give
0.7217503783469917
- jmat gives
0.7217404589067551
When evaluating struveh(1, 32):
- mpmath/scipy give
0.4986948442673508
- jmat gives
0.07496742184938132
When evaluating struveh(1, 35):
- mpmath/scipy give
0.7646509379741863
- jmat gives
-641.4283242070286
When evaluating struveh(1, 40):
- mpmath/scipy give
0.6312234147117644
- jmat gives
-34955484.20299307
When evaluating struveh(1, 49):
- mpmath/scipy give
0.6887572679283088
- jmat gives
-539017564754687.8
When evaluating struveh(1, 50):
- mpmath/scipy give
0.5800784479454417
- jmat gives
0.6368741165074563