code: def norm(
      a, /, *, ord=None, axis=None, keepdims=False, check_finite=True
  ):
      if check_finite:
          _check_finite(a)
  
      if axis is None and ord is not None:
          if a.ndim not in (1, 2):
              raise ValueError("Improper number of dimensions to norm.")
          else:
              if a.ndim == 1:
                  ret = ivy.vector_norm(
                      a, axis=axis, keepdims=keepdims, ord=ord
                  )
              else:
                  ret = ivy.matrix_norm(a, keepdims=keepdims, ord=ord)
      elif axis is None and ord is None:
          a = ivy.flatten(a)
          ret = ivy.vector_norm(a, axis=0, keepdims=keepdims, ord=2)
      if isinstance(axis, int):
          ret = ivy.vector_norm(
              a, axis=axis, keepdims=keepdims, ord=ord
          )
      elif isinstance(axis, tuple):
          ret = ivy.matrix_norm(
              a, axis=axis, keepdims=keepdims, ord=ord
          )
      return ret
  
file_path: ivy/ivy/functional/frontends/scipy/linalg/linalg.py
imports: import ivy
  from ivy.functional.frontends.numpy.func_wrapper import to_ivy_arrays_and_back
label_desc: Use image node_id 6 for calling a global function with example usage: norm() and returns: ret