//Input:
// F - this function computes the gradient of svd(F), where F is a 3x3 matrix.
//Output (for the definition of the tensorial types, see EigenTypes.h):
// dU - the 3x3x3x3 derivative of U wrt to F. dU[x][y][i][j] contains the derivative of U[x][y] wrt to F[i][j]
// dV - the 3x3x3x3 derivative of U wrt to F. dV[x][y][i][j] contains the derivative of V[x][y] wrt to F[i][j]
// dS - the 3x3x3 derivative of the singular values wrt to F. dS[x][i][j] contains the derivative of the x^{th} singlar value wrt to F[i][j]
Does it mean:
1) dU/dFij = dU[i][j] ?
2) dpsi2 / dF2 = first term + second term + U S (dV/dFij)T
so for the last term, first we get dV/dFij, then simply transpose it and multiply U * S with it?
In the dsvd.h, it says:
//Input: // F - this function computes the gradient of svd(F), where F is a 3x3 matrix. //Output (for the definition of the tensorial types, see EigenTypes.h): // dU - the 3x3x3x3 derivative of U wrt to F. dU[x][y][i][j] contains the derivative of U[x][y] wrt to F[i][j] // dV - the 3x3x3x3 derivative of U wrt to F. dV[x][y][i][j] contains the derivative of V[x][y] wrt to F[i][j] // dS - the 3x3x3 derivative of the singular values wrt to F. dS[x][i][j] contains the derivative of the x^{th} singlar value wrt to F[i][j]
Does it mean: 1) dU/dFij = dU[i][j] ? 2) dpsi2 / dF2 = first term + second term + U S (dV/dFij)T so for the last term, first we get dV/dFij, then simply transpose it and multiply U * S with it?
Thank you!