code: def orthonorm_check(a, tol=_DEF.ORTHONORM_TOL, report=False):
      import numpy as np
      from .base import delta_fxn
      orth = True
      n_fail = []
      o_fail = []
      if len(a.shape) == 1:
          a_mx = np.matrix(a, dtype=np.float_).T
      else:
          a_mx = np.matrix(a, dtype=np.float_)
      a_split = np.hsplit(a_mx, a_mx.shape[1])
      for iter1 in range(a_mx.shape[1]):
          for iter2 in range(iter1,a_mx.shape[1]):
              if not abs((a_split[iter1].T * a_split[iter2])[0,0] -
                          np.float_(delta_fxn(iter1, iter2))) <= tol:
                  orth = False
                  if report:
                      if iter1 == iter2:
                          n_fail.append(iter1)
                      else:
                          o_fail.append((iter1, iter2))
      if report:
          return orth, n_fail, o_fail
      else:
          return orth, None, None