v0.11.1
0.11.1 (2026-06-27)
When an energy included a force term like jnp.dot(f_ext, u), the sparsity tracer wrongly marked every DOF as connected to every other one, making the matrix fully dense.
The reason was that the code that handles dot_general (matrix/vector products) always assumed both inputs were variables. But here, one input (f_ext) is a constant, so the term is just linear and adds nothing to the stiffness pattern.
The fix adds to the dot_general handler to skip the coupling when one side is a constant. Now jnp.dot(const, u) and jnp.dot(u, const) stay sparse, while real jnp.dot(u, u) products still get coupled correctly. Added tests to cover both cases.
Bug Fixes
- adds missing case for dot_general jnp.dot (08d034f)