Add mju_mulVecMatVec, mutiplies a square matrix M by a vector x on both sides. Returns x^T * M * x.

PiperOrigin-RevId: 474292806
Change-Id: I3432469dbe1f02ccf5a13241c7aa12d824cbe034
This commit is contained in:
Yuval Tassa
2022-09-14 08:04:40 -07:00
committed by Copybara-Service
parent ee9eccc992
commit f4e7fa97af
12 changed files with 109 additions and 20 deletions
+11
View File
@@ -6040,6 +6040,17 @@ mju_mulMatTVec
Multiply transposed matrix and vector: res = mat' \* vec.
.. _mju_mulVecMatVec:
mju_mulVecMatVec
~~~~~~~~~~~~~~~~
.. code-block:: C
mjtNum mju_mulVecMatVec(const mjtNum* vec1, const mjtNum* mat, const mjtNum* vec2, int n);
Multiply square matrix with vectors on both sides: return vec1' \* mat \* vec2.
mju_transpose
~~~~~~~~~~~~~
+2
View File
@@ -25,6 +25,8 @@ General
- The algorithm, introduced in `Tassa et al. 2014 <https://doi.org/10.1109/ICRA.2014.6907001>`_,
converges after 2-5 Cholesky factorisations, independent of problem size.
- Added :ref:`mju_mulVecMatVec` to multiply a square matrix :math:`M` with vectors :math:`x` and :math:`y` on both
sides. The function returns :math:`x^TMy`.
Version 2.2.2 (September 7, 2022)
---------------------------------