jacobian.h File Reference IntroductionDefinition of the TJacobian type and the associated functions.
Definition in file jacobian.h.
Function Documentation◆ InitJacobian()
Initializes the Jacobian deriving a set of equations.
Definition at line 20 of file jacobian.c. References CacheScalarEQUInfo(), DeriveEqualityEquations(), TJacobian::eqs, Error(), TJacobian::J, TJacobian::neqs, NEqualityEquations(), NEW, NVariables(), TJacobian::nvars, and TJacobian::vars. Referenced by AddSimplifiedJacobianEquations(), EvaluateCSJacobian(), GenerateWorldEquations(), GetCSJacobian(), GetSimpCSJacobian(), and UpdateCuikSystem(). ◆ InitPositionJacobian()
Initializes the Jacobian deriving the subset of position of equations.
Definition at line 46 of file jacobian.c. References CacheScalarEQUInfo(), DeriveEqualityPositionEquations(), TJacobian::eqs, Error(), GetNumPositionVariables(), IsPositionVariable(), TJacobian::J, TJacobian::neqs, NEqualityPositionEquations(), NEW, NVariables(), TJacobian::nvars, and TJacobian::vars. Referenced by AddVelocityEquations(). ◆ InitScalarPositionJacobian()
Initializes the Jacobian deriving the subset of scalar position of equations.
Definition at line 82 of file jacobian.c. References CacheScalarEQUInfo(), DeriveEqualityScalarPositionEquations(), TJacobian::eqs, Error(), GetNumPositionVariables(), IsPositionVariable(), TJacobian::J, TJacobian::neqs, NEqualityScalarPositionEquations(), NEW, NVariables(), TJacobian::nvars, and TJacobian::vars. Referenced by InitNJacobian(). ◆ CopyJacobian()Initializes a Jacobian from another Jacobian.
Definition at line 118 of file jacobian.c. References CacheScalarEQUInfo(), CopyEquations(), TJacobian::eqs, TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and TJacobian::vars. Referenced by CopyCuikSystem(). ◆ CopyNonDynamicsJacobian()Gets a copy of the part of the Jacobian not directly related with the dynamics: equations not related to position/velocity derived with respect to the position equations. This block is used in a chain rule to obtain the time derivative of the non-dynamics (non position/velocity) equations.
Definition at line 142 of file jacobian.c. References CacheScalarEQUInfo(), CopyNonDynamicEquations(), TJacobian::eqs, GetNumNonDynamicVariables(), GetNumPositionVariables(), IsPositionVariable(), IsVelocityVariable(), TJacobian::J, TJacobian::neqs, NEW, NNonDynamicEquations(), TJacobian::nvars, and TJacobian::vars. Referenced by InitDynamicSpace(). ◆ CopyPositionJacobian()Gets a copy of the position Jacobian (part of the Jacobian corresponding to position variables and equations).
Definition at line 192 of file jacobian.c. References CacheScalarEQUInfo(), CopyPositionEquations(), TJacobian::eqs, GetNumPositionVariables(), IsPositionVariable(), TJacobian::J, TJacobian::neqs, NEW, NPositionEquations(), TJacobian::nvars, and TJacobian::vars. Referenced by InitDynamicSpace(). ◆ GetJacobianSize()
Gives the Jacobian size.
Definition at line 221 of file jacobian.c. References TJacobian::neqs, and TJacobian::nvars. Referenced by AddJacobianEquationsInt(), ConnectSamplesChart(), GradientSmooth(), InitAtlas(), InitChartInt(), InitDynamicSpace(), InitHessian(), LoadAtlas(), and ManifoldDimension(). ◆ GetJacobianColumn()
Returns the derivative of all equations with respect to a given variable, i.e, one of the columns of the Jacobian.
Definition at line 227 of file jacobian.c. References Error(), TJacobian::J, TJacobian::neqs, and TJacobian::nvars. Referenced by InitHessian(). ◆ GetJacobianEquation()Returns a pointer to one element of the Jacobian. This only works for scalar systems.
Definition at line 238 of file jacobian.c. References Error(), GetEquation(), TJacobian::J, TJacobian::neqs, and TJacobian::nvars. Referenced by AddJacobianEquationsInt(), AddSimplifiedJacobianEquations(), and GetSCpSystem(). ◆ RewriteJacobian2Orig()For a Jacobian of a simplified system of equations, we change the variable identifiers by those in the orignal system. Note that this is just a variable identifier replacement since all the variables in the simplified system are also in the original.
Definition at line 249 of file jacobian.c. References TJacobian::J, TJacobian::neqs, TJacobian::nvars, and RewriteEqs2Orig(). Referenced by AddSimplifiedJacobianEquations(), and AddVelocityEquations(). ◆ JacobianLinearCombination()
Generate linear combinations of the columns of the Jacobian and adds them to a given equation set. This is used when defining velocity equations.
Definition at line 260 of file jacobian.c. References CopyEquations(), DeleteEquations(), Error(), FALSE, TJacobian::J, MergeEquations(), TJacobian::neqs, TJacobian::nvars, TRUE, VarAccumulateEqualityEquations(), and VarScaleEqualityEquations(). Referenced by AddVelocityEquations(). ◆ AllocateJacobianEvaluation()
Allocate space for the Jacobian evaluation.
Definition at line 295 of file jacobian.c. References TJacobian::neqs, NEW, and TJacobian::nvars. Referenced by EvaluateCSJacobian(). ◆ EvaluateJacobian()
Evaluates the Jacobian for a given value of the variables.
Definition at line 309 of file jacobian.c. References EvaluateEqualityEquations(), FALSE, TJacobian::J, TJacobian::neqs, NEW, and TJacobian::nvars. Referenced by EvaluateCSJacobian(). ◆ EvaluateJacobianInVector()
Evaluates the Jacobian for a given value of the variables and stores the result in a vector instead of in a matrix.
Definition at line 327 of file jacobian.c. References EvaluateEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix(). Referenced by Chart2Manifold(), ComputeAcceleration(), CuikGradientInBox(), CuikNewtonInBox(), CuikNewtonSimp(), Newton2ManifoldPlane(), and RefineSingularPoint(). ◆ EvaluateJacobianSubSetInVector()
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.
Definition at line 344 of file jacobian.c. References EvaluateSubSetEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix(). Referenced by Chart2Manifold(), and GetChartDegree(). ◆ EvaluateTransposedJacobianInVector()
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 384 of file jacobian.c. References EvaluateEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix(). Referenced by ComputeJacobianKernelBasis(), FindRightNullVector(), GetPositionJacobian(), ManifoldDimension(), and RefineSingularPoint(). ◆ EvaluateTransposedJacobianSubSetInVector()
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 401 of file jacobian.c. References EvaluateSubSetEqualitySparseEquations(), TJacobian::J, TJacobian::neqs, NEW, TJacobian::nvars, and SubMatrixFromMatrix(). Referenced by EvaluateTransposedNJacobianSubSetInVector(), and GetPositionJacobian(). ◆ PrintJacobianEvaluation()
Prints the result of evaluating the Jacobian. This is basically used for debug.
Definition at line 442 of file jacobian.c. References TJacobian::neqs, and TJacobian::nvars. ◆ FreeJacobianEvaluation()
Release space for the Jacobian evaluation typically allocated using AllocateJacobianEvaluation.
Definition at line 462 of file jacobian.c. References TJacobian::neqs. ◆ EvaluateJacobianXVectors()
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 474 of file jacobian.c. References EvaluateEquationsXVectors(), TJacobian::J, TJacobian::neqs, NEW, and TJacobian::nvars. Referenced by WorldAtomJacobian(). ◆ PrintJacobian()
Prints the equations in the symbolic Jacobian column-wise.
Definition at line 509 of file jacobian.c. References TJacobian::J, TJacobian::neqs, TJacobian::nvars, and PrintEquations(). ◆ DeleteJacobian()
Release a Jacobian structure.
Definition at line 523 of file jacobian.c. References DeleteEquations(), TJacobian::J, TJacobian::neqs, and TJacobian::nvars. Referenced by AddJacobianEquations(), AddSimplifiedJacobianEquations(), AddVelocityEquations(), DeleteAtlas(), DeleteAtlasRRT(), DeleteDynamicSpace(), DeleteNJacobian(), DeleteWorldCS(), EvaluateCSJacobian(), GetSCpSystem(), GradientSmooth(), InitNJacobian(), kinobiRRT(), kinoEST(), kinoRRT(), main(), PathEffort(), RandomSmooth(), ShortcutSmooth(), and UnUpdateCuikSystem(). |
Follow us!