Это требует немного больше копания в scipy
.Метод splinef2d
по существу подгоняет ваши данные к поверхности.Метод, который вам нужно изучить, это scipy.interpolate.bisplrep .Это оборачивается вокруг подпрограммы FITPACK surffit .Насколько я могу судить, переменные имеют тип real
.При настройках компилятора по умолчанию это означает real(kind=8)
, поэтому вы смотрите на double
точность. Ожидается, что это заразно, поэтому Python также работает с той же точностью.
Вы можете повторить упражнение сейчас для QHull для получения подробной информации об интерполяции LinearND.Основываясь на том, что я вижу из их репозитория git, похоже, что он имеет точность double
.
Со стороны python переменные объявлены float
, а документация гласит:
На типичной машине с Python для плавающего Python доступно 53 бита точности
Что касается точности упакованных функций, по умолчанию Python float
имеет двойную точность.Смотрите этот ответ .