Suppose you have a record of coordinates X(t) for every s units of time from 0 to time T.

Suppose in addition you have more data Q(T) that is supposed to be output from some complex numerical computation Q(X) on the X(t) data you have. The dimensions of Q(T) and X(T) are the same.

How does one calculate all partial derivatives of the X coordinates with respect to all the Q coordinates?

A single variable is trivial. Having access to Q(X) is also easy.

The multivariable problem without access to Q(X) seems like it should be simple too, but I don't know under what circumstances (what distributions of the data, etc.) this problem would have a solution, and what algorithms would apply in those circumstances.

It seems like we are we need to solve for a transformation matrix J(T) such that dX(T)=J(T)d*Q(T).

As an example, I could try the algorithm with X(T) being randomly generated rectangular coordinates and Q(T) being spherical coordinates generated from that. I know what the Jacobian should be for this case, and I can compare against a generic algorithm's results.


1 Answer 1


Let's consider a 2D case, with two coordinates $X_1, X_2$ and two derived quantities $Q_1, Q_2$.

Using index 0 for a point where the partial derivatives are sought, and indices i={1,2,...} for some points nearby, and using Taylor expansion one can write

$ \delta Q_{1,i} = \frac{\partial Q_1}{\partial X_1} \delta X_{1,i} + \frac{\partial Q_1}{\partial X_2} \delta X_{2,i} \\ \delta Q_{2,i} = \frac{\partial Q_2}{\partial X_1} \delta X_{1,i} + \frac{\partial Q_2}{\partial X_2} \delta X_{2,i}, $

where $\delta$ stands for deviation from point 0, $\delta X_{1,i} = X_{1,i} - X_{1,0}$ etc.

Since there are four unknowns $\partial Q_m /\partial X_n$ we need four equations to solve this linear system, so in 2D we'd need data at point 0 and at two neighbor points i=1,2. By a similar argument, in 3D we'd need three neighbor points, and so forth. Note that for a practical calculation to avoid forming a degenerate linear system the data points should not lie close to a straight line; but the latter may be often the case if the data points come from a trajectory of some dynamic system.

  • $\begingroup$ I was thinking along these lines. But the Jacobian is also time dependent. How do you determine (in the 2D case) which 4 data points correspond to a particular time step? I suppose you can over determine with 5 points with the current time-step being the center and get a best-fit. What self consistency checks can be put in place? $\endgroup$ Jun 27, 2021 at 19:17
  • $\begingroup$ The proposed method would determine the Jacobian at a given time $t_0$ if all data correspond to that particular $t_0$. But if the mapping $X \rightarrow Q$ is time dependent, to determine the Jacobian at a different time $t_1$ you'd have to do the same calculation at $t_1$, there is no way around it. $\endgroup$ Jun 27, 2021 at 20:30
  • 1
    $\begingroup$ If all you want is to determine the Jacobian at time $t_0$ but account for your data points taken at different times then you'd just add terms with partial derivatives $\partial _t {Q_m}$ in the linear equations, that would require adding extra data points to make it well-posed. $\endgroup$ Jun 27, 2021 at 20:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.