code: def trans_F_4x4_3x3(Fw, F, minimal=False, trans=False):
      if minimal:
          T0 = np.empty((6, 3))
          T1 = np.empty((6, 6))
  
          for O, I in ((T0, F), (T1, T0.T)):
              t0 = 25.0 / 88.0 * I[2, :]
              t1 = -625.0 / 1078.0 * I[0, :] - t0
              t2 = 25.0 / 198.0 * I[0, :] + t0
  
              O[0, :] = I[0, :] * 400.0 / 441.00
              O[1, :] = t1 - 125.0 / 308.0 * I[1, :]
              O[2, :] = t1 + 125.0 / 308.0 * I[1, :]
              O[3, :] = t2 + 25.0 / 132.0 * I[1, :]
              O[4, :] = t2 - 25.0 / 132.0 * I[1, :]
              O[5, :] = I[2, :]
  
              # t0 =  rcp6  * I[2,:]
              # t1 = -rcp6  * I[0,:] - t0
              # t2 =  rcp24 * I[0,:] + t0
  
              # O[0,:] = rcp4 * I[0,:]
              # O[1,:] = t1 - rcp6  * I[1,:]
              # O[2,:] = t1 + rcp6  * I[1,:]
              # O[3,:] = t2 + rcp12 * I[1,:]
              # O[4,:] = t2 - rcp12 * I[1,:]
              # O[5,:] = I[2,:]
  
              # t0 = I[0,:] + I[2,:]
              # t1 = I[0,:] + I[2,:]*4.0
              # O[0,:] = I[0,:]
              # O[1,:] = t0 + I[1,:]
              # O[2,:] = t0 - I[1,:]
              # O[3,:] = t1 + I[1,:]*2.0
              # O[4,:] = t1 - I[1,:]*2.0
              # O[5,:] = I[2,:]
  
          Fw[:] = T1.T
  
      else:
          Fw[:] = np.dot(
              np.dot(F_4x4_3x3[trans[0]], F), F_4x4_3x3[trans[1]].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_F_4x4_3x3(Fw, F, minimal, trans) without return types