def matmul(m1, m2):
    """Multiply two matrices.
    >>> list(matmul([(7, 5), (3, 5)], [(2, 5), (7, 9)]))
    [[49, 80], [41, 60]]

    The caller should ensure that the dimensions of the input matrices are
    compatible with each other.
    """
    n = len(m2[0])
    return batched(starmap(dotproduct, product(m1, transpose(m2))), n)
Multiply two matrices.
    >>> list(matmul([(7, 5), (3, 5)], [(2, 5), (7, 9)]))
    [[49, 80], [41, 60]]

    The caller should ensure that the dimensions of the input matrices are
    compatible with each other.
    
product/runtime/src/main/python/pkg_resources/_vendor/more_itertools/recipes.py