docs: def matrix(self, x=(0, 0), y=(0, 0) , z=(0, 0), inplace=True):
          """
          Copy the ``pyny.Space`` along a 3D matrix given by the three
          tuples x, y, z:        
  
          :param x: Number of copies and distance between them in this
              direction.
          :type x: tuple (len=2)
          :param inplace: If True, the moved ``pyny.Space`` is copied and 
              added to the current ``pyny.Space``. If False, it returns 
              the new ``pyny.Space``.
          :type inplace: bool        
          :returns: None, ``pyny.Space``
          """
          state = Polygon.verify
          Polygon.verify = False
          base = False
          if x[0] != 0:
              x = (np.ones(x[0]-1)*x[1]).cumsum()
              if not base: base = self.copy()
              single = self.copy()
              for pos in x:
                  base.add_spaces(single.move((pos, 0, 0), inplace=False))
          if y[0] != 0:
              y = (np.ones(y[0]-1)*y[1]).cumsum()
              if not base: base = self.copy()
              single = base.copy()
              for pos in y:
                  base.add_spaces(single.move((0, pos, 0), inplace=False))
          if z[0] != 0:           
              z = (np.ones(z[0]-1)*z[1]).cumsum()
              if not base: base = self.copy()
              single = base.copy()
              for pos in z:
                  base.add_spaces(single.move((0, 0, pos), inplace=False))
          
          Polygon.verify = state
          if inplace:
              self.places = []
              self.add_spaces(base)
          else:
              return base