(self, bott)
return type(self)(newmat)
Concatenates two matrices along self's last and bott's first row

        Examples
        ========

        >>> from sympy import zeros, ones
        >>> M = zeros(3)
        >>> V = ones(1, 3)
        >>> M.col_join(V)
        Matrix([
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [1, 1, 1]])

        See Also
        ========

        col
        row_join
Concatenates two matrices along self's last and bott's first row
Concatenates two matrices along self s last and bott s first row
def col_join(self, bott):
        """Concatenates two matrices along self's last and bott's first row

        Examples
        ========

        >>> from sympy import zeros, ones
        >>> M = zeros(3)
        >>> V = ones(1, 3)
        >>> M.col_join(V)
        Matrix([
        [0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        [1, 1, 1]])

        See Also
        ========

        col
        row_join
        """
        if self.cols != bott.cols:
            raise ShapeError(
                "`self` and `bott` must have the same number of columns.")

        from sympy.matrices import MutableMatrix
        newmat = MutableMatrix.zeros(self.rows + bott.rows, self.cols)
        newmat[:self.rows, :] = self
        newmat[self.rows:, :] = bott
        return type(self)(newmat)
def col_join ( self , bott ) : if self . cols != bott . cols : raise ShapeError ( "`self` and `bott` must have the same number of columns." ) from sympy . matrices import MutableMatrix newmat = MutableMatrix . zeros ( self . rows + bott . rows , self . cols ) newmat [ : self . rows , : ] = self newmat [ self . rows : , : ] = bott return type ( self ) ( newmat )