trans_coef.T.dot(solve(H.dot(V).dot(H.T)), trans_coef)
becomes trans_coef.T @ solve(H @ V @ H.T, trans_coef)
but in MATLAB or Julia might be: trans_coef' * ((H * V * H') \ trans_coef)
....I want a backslash operator now!I'd go as far as saying that matrix computation plays an important role in more or less every kind of programming except for web/app development.
edit: As another comment points out, the PEP actually answers this question too and contains a slightly more comprehensive list of disciplines where matrices find frequent use: http://legacy.python.org/dev/peps/pep-0465/#but-isn-t-matrix...
It is empirically observed (and the identified rationale for this PEP) that matrix multiplication is done by overloading existing operators in popular Python libraries (going so far in Numpy as to have separate types differing primarily in whether the * operator does matrix or elementwise multiplication), and that this causes confusion, API fragmentation, and inefficiency, so, yes, it happens enough and is inconvenient enough that a general solution for doing it as an operator that doesn't interfere with existing operators is desirable.
Its not really "complicating the syntax", its just adding two new operators and corresponding magic methods, the structure of the syntax is unchanged, and these operators work just like other python operators, including their relationship to their corresponding magic methods.
Really, you should read the PEP (Python Enhancement Proposal) that is the linked article. It covers your question in great depth.