arrayfire / arrayfire/arrayfire-python

Bugs in af.approx1()

Aperta
#135 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
422
Fork
63
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Convergence checks performed on the ArrayFire routines for interpolation seem to indicate a few mistakes:

The following plot is generated using `af.INTERP.CUBIC`
![download 9](https://cloud.githubusercontent.com/assets/19583419/24001222/90a839b2-0a83-11e7-8d61-dac9f4fd45a3.png)

The order of convergence comes out to be ![image](https://cloud.githubusercontent.com/assets/19583419/24001620/abd1cd74-0a84-11e7-8690-c6f68882734f.png), while the expected convergence rate is ![image](https://cloud.githubusercontent.com/assets/19583419/24001712/dffcefd4-0a84-11e7-99d5-6475b2de7c79.png). I checked with `af.INTERP.CUBIC_SPLINE` as well. Even in that case the order of convergence comes out to be ![image](https://cloud.githubusercontent.com/assets/19583419/24001738/fa04291a-0a84-11e7-8fcb-946a8b3e8602.png)

![download 8](https://cloud.githubusercontent.com/assets/19583419/24001789/174c4f2a-0a85-11e7-8af0-582a153b6123.png)

Another issue is the fact that the error doesn't drop below 1e-7. The SciPy interpolation function `interp1d` using cubic interpolation gives this:

![download 19](https://cloud.githubusercontent.com/assets/19583419/24001909/4fb536f6-0a85-11e7-8339-16767b8bd4eb.png)

For your reference - this is the [code](https://gist.github.com/ShyamSS-95/ad0065e984b76d1ccaecc5e21b425734) I'd used to generate the plots.

Also regarding issue #130 - I've realised that the mistake was on my part. I should have added the off-set in the indexing to the normalized interpolant points.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.