Remove mjData.qM

PiperOrigin-RevId: 942520660
Change-Id: I422358e299ca0fcfe4c49cd0ee90c014a4c319d7
This commit is contained in:
Yuval Tassa
2026-07-04 09:38:07 -07:00
committed by Copybara-Service
parent 7c6f519879
commit 315bcfbf3a
16 changed files with 14 additions and 76 deletions
+2
View File
@@ -25,6 +25,8 @@ General
- Switched :ref:`mjd_inverseFD` to use the CSR-format ``mjData.M`` representation instead of the legacy ``mjData.qM``
for the mass matrix derivative. This changes the shape of the ``DmDq`` parameter from ``(nv x nM)`` to
``(nv x nC)``.
- Removed the legacy sparse ancestor-walk inertia matrix ``mjData.qM``. The joint-space inertia matrix is now stored
exclusively in the compressed sparse row (CSR) format ``mjData.M``.
Version 3.10.0 (June 22, 2026)
------------------------------
+2 -3
View File
@@ -223,8 +223,7 @@ typedef struct mjData_ {
// computed by mj_fwdPosition/mj_makeM
mjtNum* crb; // com-based composite inertia and mass (nbody x 10)
mjtNum* qM; // inertia (sparse) (nM x 1)
mjtNum* M; // reduced inertia (compressed sparse row) (nC x 1)
mjtNum* M; // inertia (sparse) (nC x 1)
// computed by mj_fwdPosition/mj_factorM
mjtNum* qLD; // L'*D*L factorization of M (sparse) (nC x 1)
@@ -273,7 +272,7 @@ typedef struct mjData_ {
mjtNum* qDeriv; // d (passive + actuator - bias) / d qvel (nD x 1)
// computed by mj_implicit/mju_factorLUSparse
mjtNum* qLU; // sparse LU of (qM - dt*qDeriv) (nD x 1)
mjtNum* qLU; // sparse LU of (M - dt*qDeriv) (nD x 1)
//-------------------- POSITION, VELOCITY, CONTROL/ACCELERATION dependent