Skip to content

In python spline.eval_jacobian(p) returns only the first column of the jacobian #136

@slovak194

Description

@slovak194

Hi!

I've noticed, that only first column of the jacobian is returned when I use python bindings (dev branch, or installed from PyPy).
I had to write my own simple bindings with pybind11 to overcome this issue.
Here is the small test:

import splinterpy
import numpy as np
from itertools import product
np.set_printoptions(suppress=True)


def some_fun(lx):
    return np.array((
        np.sin(lx[0] + lx[1]),
        np.cos(lx[0] - lx[1]),
        np.tan(lx[0]/lx[1])
    )).tolist()


domain = [
    np.linspace(-1, 1, 10),
    np.linspace(-1, 1, 10)
]

x = [list(xx) for xx in product(*domain)]
y = [some_fun(xx) for xx in x]

bspline = splinterpy.bspline_interpolator(x, y, degree=3)

p = np.array((0.7, -0.1))

print("\nbspline.eval:\n", bspline.eval(p))
print("\nbspline.eval_jacobian:\n", bspline.eval_jacobian(p))
bspline.eval:
 [0.5646270834036826, 0.696689837482913, 0.7350330225547118]
bspline.eval_jacobian:
 [[0.8253916603802878, -0.7172947275474233]]

So the bspline.eval_jacobian returns only 2 numbers.

Best regards,
Alex

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions