code: def null_space(A, rcond=None):
      """
      Construct an orthonormal basis for the null space of A using SVD
  
      Parameters
      ----------
      A : (M, N) array_like
          Input array
      rcond : float, optional
          Relative condition number. Singular values ``s`` smaller than
          ``rcond * max(s)`` are considered zero.
          Default: floating point eps * max(M,N).
  
      Returns
      -------
      Z : (N, K) ndarray
          Orthonormal basis for the null space of A.
          K = dimension of effective null space, as determined by rcond
  
      See also
      --------
      svd : Singular value decomposition of a matrix
      orth : Matrix range
  
      Examples
      --------
      1-D null space:
  
      >>> from scipy.linalg import null_space
      >>> A = np.array([[1, 1], [1, 1]])
      >>> ns = null_space(A)
      >>> ns * np.sign(ns[0,0])  # Remove the sign ambiguity of the vector
      array([[ 0.70710678],
             [-0.70710678]])
  
      2-D null space:
  
      >>> from numpy.random import default_rng
      >>> rng = default_rng()
      >>> B = rng.random((3, 5))
      >>> Z = null_space(B)
      >>> Z.shape
      (5, 2)
      >>> np.allclose(B.dot(Z), 0)
      True
  
      The basis vectors are orthonormal (up to rounding error):
  
      >>> Z.T.dot(Z)
      array([[  1.00000000e+00,   6.92087741e-17],
             [  6.92087741e-17,   1.00000000e+00]])
  
      """
      u, s, vh = svd(A, full_matrices=True)
      M, N = u.shape[0], vh.shape[1]
      if rcond is None:
          rcond = numpy.finfo(s.dtype).eps * max(M, N)
      tol = numpy.amax(s) * rcond
      num = numpy.sum(s > tol, dtype=int)
      Q = vh[num:, :].T.conj()
      return Q
  
file_path: catboost/contrib/python/scipy/py3/scipy/linalg/decomp_svd.py
imports: import numpy
  from numpy import zeros, r_, diag, dot, arccos, arcsin, where, clip
  from .misc import LinAlgError, _datacopied
  from .lapack import get_lapack_funcs, _compute_lwork
  from .decomp import _asarray_validated
label_desc: Use image node_id 5 for calling a global function with example usage: null_space(A, rcond) and returns: Q