Hi<div><br></div><div><b>The big question</b>: Why does the MATLAB function <font class="Apple-style-span" face="&#39;courier new&#39;, monospace">spline </font><font class="Apple-style-span" face="arial, helvetica, sans-serif">operate faster than the cubic spline alternatives in Scipy, especially </font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">splrep</font><font class="Apple-style-span" face="arial, helvetica, sans-serif"> and </font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">splev ?</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">------</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br>

</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><b>The context</b>: I&#39;m working on an algorithm that bottlenecks on spline interpolation. </font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>

</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Some functions in Scipy return an interpolation <i>object function </i>depending on the input data which needs to be evaluated independently over the whole range.</font></div>

<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">So I used &#39;lower order&#39; functions like </font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">splrep</font><font class="Apple-style-span" face="arial, helvetica, sans-serif"> and </font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">splev</font><font class="Apple-style-span" face="arial, helvetica, sans-serif">. Even that was too slow.</font></div>

<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Then I tried to write my own code for cubic splines, generating and solving a system of 4N simultaneous equations for interpolation between N+1 points.</font></div>

<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">No matter what I do, the code is quite slow. How come the MATLAB function </font><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">spline</font><font class="Apple-style-span" face="arial, helvetica, sans-serif"> operate so fast? What am I missing? What can I do to speed it up?</font></div>

<div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">------------</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br>

</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif">Thanks</font></div>