code: def GramSchmidt(vlist, orthonormal=False):
      """Apply the Gram-Schmidt process to a set of vectors.
  
      Parameters
      ==========
  
      vlist : List of Matrix
          Vectors to be orthogonalized for.
  
      orthonormal : Bool, optional
          If true, return an orthonormal basis.
  
      Returns
      =======
  
      vlist : List of Matrix
          Orthogonalized vectors
  
      Notes
      =====
  
      This routine is mostly duplicate from ``Matrix.orthogonalize``,
      except for some difference that this always raises error when
      linearly dependent vectors are found, and the keyword ``normalize``
      has been named as ``orthonormal`` in this function.
  
      See Also
      ========
  
      .matrixbase.MatrixBase.orthogonalize
  
      References
      ==========
  
      .. [1] https://en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process
      """
      return MutableDenseMatrix.orthogonalize(
          *vlist, normalize=orthonormal, rankcheck=True
      )
  
imports: import random
  from sympy.core.basic import Basic
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol
  from sympy.core.sympify import sympify
  from sympy.functions.elementary.trigonometric import cos, sin
  from sympy.utilities.decorator import doctest_depends_on
  from sympy.utilities.exceptions import sympy_deprecation_warning
  from sympy.utilities.iterables import is_sequence
  from .exceptions import ShapeError
  from .decompositions import _cholesky, _LDLdecomposition
  from .matrixbase import MatrixBase
  from .repmatrix import MutableRepMatrix, RepMatrix
  from .solvers import _lower_triangular_solve, _upper_triangular_solve
label_desc: Use image node_id 16 for calling a global function with example usage: GramSchmidt(vlist, orthonormal) and returns: MutableDenseMatrix