code: def mix_columns(state):
      
      state = state.reshape(4, 4, 8)
      return fcat(
          multiply(MA, state[0]),
          multiply(MA, state[1]),
          multiply(MA, state[2]),
          multiply(MA, state[3]),
      )
docs: Transformation in the Cipher that takes all of the columns of the State and
      mixes their data (independently of one another) to produce new columns.