1 | initial version |
Maxima can give you the exact values of the local maximum coordinates:
maxima('load(interpol)')
maxima('v:[[-3,-2],[-2,0],[1,2],[3,1],[4,5]]')
maxima('cspline(v)')
p4=maxima('part(cspline(v),4,1)').sage();p4
diff(p4,x).roots()
#[(-1/58*sqrt(35558) - 88/29, 1), (1/58*sqrt(35558) - 88/29, 1)]
diff(p4,x).roots(ring=RR)
#[(-6.28566017270985, 1), (0.216694655468470, 1)]
p4(x=0.216694655468470)
#2.42298183710243