# Confusion about matrix multiplication order (\>2 matrices)

**URL:** <https://discourse.julialang.org/t/confusion-about-matrix-multiplication-order-2-matrices/63681>\
**Category:** General Usage\
**Created:** [June 28, 2021, 8:27am UTC](https://discourse.julialang.org/t/confusion-about-matrix-multiplication-order-2-matrices/63681 "2021-06-28T08:27:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![MartaVanin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/martavanin/32/14658_2.png) [@MartaVanin](https://discourse.julialang.org/u/MartaVanin)\
**Post date:** [June 28, 2021, 8:27am UTC](https://discourse.julialang.org/t/confusion-about-matrix-multiplication-order-2-matrices/63681/1 "2021-06-28T08:27:48Z")

</div>

Hello,  
I am performing some matrix multiplication and I am a bit confused about the results.  
Specifically, I have a sparse matrix H 390x331 and a diagonal matrix R 390x390.  
I want to calculate `G = transpose(H)*inv(R)*H` and I thought julia would by default perform the multiplications in the right order. However, I noticed that  
`transpose(H)*inv(R)*H` is different from `transpose(H)*(inv(R)*H)`. The difference is non-negligible I would say, and I am just wondering whether it is something numerical or whether I missed something about matrix multiplication in julia.

---

<div class="post-metadata">

**Author:** ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)\
**Post date:** [June 28, 2021, 8:33am UTC](https://discourse.julialang.org/t/confusion-about-matrix-multiplication-order-2-matrices/63681/2 "2021-06-28T08:33:07Z")

</div>

An orthogonal comment: You typically shouldn’t use `inv(R)` but left or right-division, i.e. `\` or `/`, instead. Constructing the full inverse is almost never what you want to do.
