code: def trans_O_2x2_3x3(Mw, minimal=False):
      if minimal:
          T0 = np.empty((2, 4))
          T1 = np.empty((2, 2))
  
          for O, I in ((T0, Mw), (T1, T0.T)):
              t0 = I[0, :] + I[1, :]
              t1 = I[1, :] - I[2, :]
  
              O[0, :] = t0 + I[2, :]
              O[1, :] = t1 - I[3, :]
  
          return T1.T
  
      else:
          return np.dot(np.dot(O_2x2_3x3, Mw), O_2x2_3x3.T)
  
imports: from __future__ import division
  import numpy
  from struct import pack, unpack
  from neon import logger
label_desc: Use image node_id 11 for calling a global function with example usage: trans_O_2x2_3x3(Mw, minimal) and returns: T1, np