'Return a matrix formed by joining args vertically (i.e.
by repeated application of col_join).
Examples
>>> from sympy.matrices import Matrix, eye
>>> Matrix.vstack(eye(2), 2*eye(2))
Matrix([
[1, 0],
[0, 1],
[2, 0],
[0, 2]])'

@classmethod
def vstack(cls, *args):

    if (len(args) == 0):
        return cls._new()
    kls = type(args[0])
    return reduce(kls.col_join, args)
