# ncMatrixMult -- Correctly multiplies matrices from noncommutative rings.

## Synopsis

• Usage:
L = ncMatrixMult(M,N)
• Inputs:
• M, ,
• N, ,
• Outputs:
• L, ,

## Description

This function is provided as a temporary band-aid for matrix multiplication over a noncommutative ring, as well as a reminder that it must be repaired eventually.

 i1 : A = QQ<|x,y|> o1 = A o1 : FreeAlgebra i2 : M = matrix {{x}} o2 = | x | 1 1 o2 : Matrix A <--- A i3 : N = matrix {{y}} o3 = | y | 1 1 o3 : Matrix A <--- A i4 : M*N o4 = | yx | 1 1 o4 : Matrix A <--- A i5 : assert(ncMatrixMult(M,N) == matrix {{x*y}})

## Ways to use ncMatrixMult :

• "ncMatrixMult(Matrix,Matrix)"

## For the programmer

The object ncMatrixMult is .