def outer_product(A, B):
    """
    Returns `outer_product` from a pair of vectors wherein 
    `B` is transposed into a row vector and `A` is a column vector.

    Parameters
    ----------
    A : list
        The given left-hand side matrix.
    B : list
        The given right-hand side transposed matrix.

    Returns
    -------
    outer_product : list (matrix)
        Returns a matrix.
    """    
    A_rows = len(A)
    A_columns = len(A[0])

    B_rows = len(B)
    B_columns = len(B[0])
    
    if A_columns == 1 and B_rows == 1:
    
        outer_product = []
        
        for i in range(A_rows):
            row = []
            for j in range(B_columns):
                row.append(A[i][0] * B[0][j])
            outer_product.append(row)

        return outer_product

    else:
        print("dimensions of vector do not match.")