docs: def vectorial_decomp(self, symbols):
          ''' Compute the vectorial decomposition of the expression according to the given symbols.
  
          symbols is a list that represents the input of the resulting
          application. They are considerated as a flatten vector of bits.
  
          Args:
              symbols: TODO
  
          Returns:
              An :class:`pytanque.App` object
  
          Example:
              >>> mba = MBA(4)
              >>> x = mba.var('x')
              >>> y = mba.var('y')
              >>> e = x^y^6
              >>> e.vectorial_decomp([x,y])
              App NL = Vec([
              0,
              0,
              0,
              0
              ])
              AffApp matrix = Mat([
                  [1, 0, 0, 0, 1, 0, 0, 0]
                  [0, 1, 0, 0, 0, 1, 0, 0]
                  [0, 0, 1, 0, 0, 0, 1, 0]
                  [0, 0, 0, 1, 0, 0, 0, 1]
                  ])
              AffApp cst = Vec([
                  0,
                  1,
                  1,
                  0
                  ])
          '''
          try:
              symbols = [s.vec for s in symbols]
              N = sum(map(lambda s: len(s), symbols))
              symbols_ = Vector(N)
              i = 0
              for v in symbols:
                  for s in v:
                      symbols_[i] = s
                      i += 1
              symbols = symbols_
          except TypeError: pass
          return self.mba.vectorial_decomp(symbols, self.vec)