jacobian.c File Reference Detailed DescriptionImplementation of the TJacobian type and the associated functions.
Definition in file jacobian.c.
Function Documentation
Initializes the Jacobian deriving a set of equations.
Definition at line 16 of file jacobian.c. References DeriveEqualityEquations(), Error(), TJacobian::J, TJacobian::neqs, NEqualityEquations(), NEW, NVariables(), and TJacobian::nvars. Referenced by AddSimplifiedJacobianEquations(), EvaluateCSJacobian(), GenerateWorldEquations(), GetCSJacobian(), GetSimpCSJacobian(), and UpdateCuikSystem(). Initializes a Jacobian from another Jacobian.
Definition at line 31 of file jacobian.c. References CopyEquations(), TJacobian::J, TJacobian::neqs, NEW, and TJacobian::nvars. Referenced by CopyCuikSystem().
Gives the Jacobian size.
Definition at line 43 of file jacobian.c. References TJacobian::neqs, and TJacobian::nvars. Referenced by AddJacobianEquations(), AddJacobianEquationsInt(), ConnectSamplesChart(), GradientSmooth(), InitAtlas(), InitChartInt(), InitHessian(), and LoadAtlas().
Returns the derivative of all equations with respect to a given variable, i.e, one of the columns of the Jacobian.
Definition at line 49 of file jacobian.c. References Error(), TJacobian::J, and TJacobian::nvars. Referenced by InitHessian(). Returns a pointer to one element of the Jacobian. This only works for scalar systems.
Definition at line 57 of file jacobian.c. References Error(), GetEquation(), TJacobian::J, TJacobian::neqs, and TJacobian::nvars. Referenced by AddJacobianEquationsInt(), AddSimplifiedJacobianEquations(), and GetSCpSystem().
Allocate space for the Jacobian evaluation.
Definition at line 65 of file jacobian.c. References TJacobian::neqs, NEW, and TJacobian::nvars. Referenced by EvaluateCSJacobian().
Evaluates the Jacobian for a given value of the variables.
Definition at line 79 of file jacobian.c. References EvaluateEqualityEquations(), FALSE, TJacobian::J, TJacobian::neqs, NEW, and TJacobian::nvars. Referenced by EvaluateCSJacobian().
Evaluates the Jacobian for a given value of the variables and stores the result in a vector instead of in a matrix. The vector is organized row wise (1st row 2nr row, etc).
Definition at line 97 of file jacobian.c. References EvaluateEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix(). Referenced by Chart2Manifold(), CuikNewtonInBox(), CuikNewtonSimp(), Newton2ManifoldPlane(), and RefineSingularPoint().
Evaluates some of the Jacobian equations for a given value of the variables and stores the result in a vector instead of in a matrix. The vector is organized row wise (1st row 2nr row, etc).
Definition at line 114 of file jacobian.c. References EvaluateSubSetEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix(). Referenced by Chart2Manifold(), and GetChartDegree().
Evaluates the transposed Jacobian for a given value of the variables and stores the result in a vector instead of in a matrix. The vector is organized column wise (1st column 2nr column, etc).
Definition at line 137 of file jacobian.c. References EvaluateEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix(). Referenced by ComputeJacobianKernelBasis(), FindRightNullVector(), InitAtlasFromPoint(), and RefineSingularPoint().
Evaluates a subset of the transposed Jacobian for a given value of the variables and stores the result in a vector instead of in a matrix. The vector is organized column wise (1st column 2nr column, etc).
Definition at line 154 of file jacobian.c. References EvaluateSubSetEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix().
Prints the result of evaluating the Jacobian. This is basically used for debug.
Definition at line 177 of file jacobian.c. References TJacobian::neqs, and TJacobian::nvars.
Release space for the Jacobian evaluation typically allocated using AllocateJacobianEvaluation.
Definition at line 194 of file jacobian.c. References TJacobian::neqs.
This is a funcition with a very particular purpose. It evaluates the matrix equations in the Jacobian on a given point and then, for each matrix equation in the Jacobian, M, it evaluates M*v[i] for a set of 3D vectors, v[i]. This is used when generating the Jacobian of a given set of atom positions with respect ot the internal coordinates. In this case the Jacobian is derived from equations giving the pose P of each link from the internal coordinates. The position of an atom is P*v[i], with v[i] the center of the atom. The derivative of P*v[i] is M*v[i] with M the derivative of P w.r.t. the internal variables. The output of this function is a matrix with 3*n rows and m columns (n=number of atoms and m= number of internal coordinates). This is not the default size of the Jacobian and, thus, FreeJacobianEvaluation can not be used to de-allocate the space for the evaluation. IMPORTANT: This only operates on matrix equations.
Definition at line 206 of file jacobian.c. References EvaluateEquationsXVectors(), TJacobian::J, NEW, and TJacobian::nvars. Referenced by WorldAtomJacobian().
Prints the equations in the symbolic Jacobian column-wise.
Definition at line 238 of file jacobian.c. References TJacobian::J, TJacobian::nvars, and PrintEquations().
Release a Jacobian structure.
Definition at line 249 of file jacobian.c. References DeleteEquations(), TJacobian::J, and TJacobian::nvars. Referenced by AddJacobianEquations(), AddSimplifiedJacobianEquations(), ConnectSamplesChart(), DeleteAtlas(), DeleteAtlasRRT(), DeleteWorldCS(), EvaluateCSJacobian(), GetSCpSystem(), GradientSmooth(), main(), and UnUpdateCuikSystem(). |
Follow us!