# [racket] Computing dot product via racket math library

On 10/24/2013 09:30 AM, Dmitry Cherkassov wrote:
>* Hi.
*>*
*>* On Thu, Oct 24, 2013 at 7:16 PM, Tobias Hammer <tobias.hammer at dlr.de> wrote:
*>>* matrix-dot is what you want.
*>>*
*>>* Tobias
*>>*
*>*
*>* OK, it indeed works.
*>*
*>* Hence, there is an error in docs
*>* http://docs.racket-lang.org/math/matrix_inner.html?q=matrix-dot&q=normalize#%28def._%28%28lib._math%2Fmatrix..rkt%29._matrix-dot%29%29
*>*
*>* Specifically, there is said:
*>*
*>>* In other words the sum of (* a (conjugate b)) is computed where a runs over the entries in M and b runs over the corresponding entries in N.
*>*
*>* and `conjugate' link leads to complex conjugate function, whereas
*>* there should be `transpose' function.
*
The Frobenius inner product is often defined as the trace of A*B^T,
where "^T" means conjugate transpose for complex matrices. Most of the
entries in A*B^T are thrown away by computing the trace. Computing the
trace ends up equivalent to multiplying A elementwise by B's elementwise
conjugation, so the docs are correct.
I think I can make the `matrix-dot' docs communicate better, though,
especially to people who are looking for vector operations. I'm open to
suggestions to improve them generally.
Neil ⊥