ifarup / colourlab

Colour space transforms and colour metrics for python
GNU General Public License v3.0
12 stars 4 forks source link

data: find a way to compute and represent Christoffel symbols (not tensors!) #13

Closed ifarup closed 3 years ago

ifarup commented 3 years ago

Seemingly simplest solution: create a function (in colour.tensor?), christoffel (or christoffel_numerical?) that takes the following arguments:

Colour data points are in general M x ... x N x 3, tensor data M x ... x N x 3 x 3. Christoffel symbols will be M x ... x N x 3 x 3 x 3.

Use numerical differentiation for the derivatives of the metric tensor coefficients with respect to the colour coordinates.

ifarup commented 3 years ago

Another argument for having the colour.tensor.christoffel as a function returning an array instead of having it as a colour.data class: the transformations of Christoffel symbols under coordinate transformations require access to the second order derivatives (Hessian) of the coordinate transform. These are in general not available in the current structure, and it will require a quite major effort to include it.

ifarup commented 3 years ago

Tested and correct for cylindrical coordinates