diff --git a/doc/includes/references.h b/doc/includes/references.h index 6aaec67d..0887af0b 100644 --- a/doc/includes/references.h +++ b/doc/includes/references.h @@ -97,7 +97,7 @@ typedef struct mjData_ { // solver statistics mjSolverStat solver[mjNISLAND*mjNSOLVER]; // solver statistics per island, per iteration int solver_niter[mjNISLAND]; // number of solver iterations, per island - int solver_nnz[mjNISLAND]; // number of nonzeros in Hessian or efc_AR, per island + int solver_nnz[mjNISLAND]; // number of nonzeros in solver matrix, per island mjtNum solver_fwdinv[2]; // forward-inverse comparison: qfrc, efc // diagnostics diff --git a/include/mujoco/mjdata.h b/include/mujoco/mjdata.h index f31dc5b6..d95d4e5a 100644 --- a/include/mujoco/mjdata.h +++ b/include/mujoco/mjdata.h @@ -121,7 +121,7 @@ typedef struct mjData_ { // solver statistics mjSolverStat solver[mjNISLAND*mjNSOLVER]; // solver statistics per island, per iteration int solver_niter[mjNISLAND]; // number of solver iterations, per island - int solver_nnz[mjNISLAND]; // number of nonzeros in Hessian or efc_AR, per island + int solver_nnz[mjNISLAND]; // number of nonzeros in solver matrix, per island mjtNum solver_fwdinv[2]; // forward-inverse comparison: qfrc, efc // diagnostics diff --git a/python/mujoco/introspect/structs.py b/python/mujoco/introspect/structs.py index 1fe6ce1f..7e281505 100644 --- a/python/mujoco/introspect/structs.py +++ b/python/mujoco/introspect/structs.py @@ -5524,7 +5524,7 @@ STRUCTS: Mapping[str, StructDecl] = dict([ inner_type=ValueType(name='int'), extents=(20,), ), - doc='number of nonzeros in Hessian or efc_AR, per island', + doc='number of nonzeros in solver matrix, per island', ), StructFieldDecl( name='solver_fwdinv', diff --git a/src/engine/engine_solver.c b/src/engine/engine_solver.c index e3f9f174..cf81f039 100644 --- a/src/engine/engine_solver.c +++ b/src/engine/engine_solver.c @@ -2474,7 +2474,7 @@ static void mj_solPrimal(const mjModel* m, mjData* d, int island, int maxiter, i d->solver_nnz[island_stat] = nv*nv; } } else { - d->solver_nnz[island_stat] = 0; + d->solver_nnz[island_stat] = ctx.nJ; } }