  We present a non-commutative algorithm for the multiplication of a 2 x 2
block-matrix by its adjoint, defined by a matrix ring anti-homomorphism. This
algorithm uses 5 block products (3 recursive calls and 2 general products)over
C or in positive characteristic. The resulting algorithm for arbitrary
dimensions is a reduction of multiplication of a matrix by its adjoint to
general matrix product, improving by a constant factor previously known
reductions. We prove also that there is no algorithm derived from bilinear
forms using only four products and the adjoint of one of them. Second we give
novel dedicated algorithms for the complex field and the quaternions to
alternatively compute the multiplication taking advantage of the structure of
the matrix-polynomial arithmetic involved. We then analyze the respective
ranges of predominance of the two strategies. Finally we propose schedules with
low memory footprint that support a fast and memory efficient practical
implementation over a prime field.
