Interpolar matrices enteras de números complejos

Tengo una serie de matrices np. Bidimensionales (todas de igual tamaño) que contienen números complejos. Cada uno de ellos pertenece a una posición en un espacio de 4 dimensiones. Esas posiciones son escasas y se distribuyen de manera irregular (un hipercubo latino para ser precisos). Me gustaría interpolar estos datos a otros puntos en el mismo espacio de 4 dimensiones.

Puedo hacer esto con éxito para números simples, usando cualquierasklearn.kriging(), scipy.interpolate.Rbf() (u otras personas):

# arrayof co-ordinates: 2 4D sets
X = np.array([[1.0, 0.0, 0.0, 0.0],\
              [0.0, 1.0, 0.0, 0.0]])

# two numbers, one for each of the points above 
Y = np.array([1,\
              0])

# define the type of gaussian process I want
kriging = gp.GaussianProcess(theta0=1e-2, thetaL=1e-4, thetaU=4.0,\
            corr='linear', normalize=True, nugget=0.00001, optimizer='fmin_cobyla')

# train the model on the data
kmodel = kriging.fit(X,Y)

# interpolate
kmodel.predict(np.array([0.5, 0.5, 0.0, 0.0]))
# returns: array([ 0.5])

Si trato de usar matrices (o simplemente números complejos) como datos, esto no funciona:

# two arrays of complex numbers, instead of the numbers 
Y = np.array([[1+1j, -1-1j],\
              [0+0j,  0+0j]])

kmodel = kriging.fit(X,Y)
# returns: ValueError: The number of features in X (X.shape[1] = 1) should match the sample size used for fit() which is 4.

Esto es obvio ya que la cadena de documentación parakriging.fit() establece claramente que necesita una matriz de n escalares, uno por cada elemento en la primera dimensión de X.

Una solución es descomponer los arreglos en Y en números individuales, aquellos en partes reales e imaginarias, hacer una interpolación separada de cada uno de ellos y luego juntarlos nuevamente. Puedo hacer esto con la combinación correcta de bucles y algo de arte, pero sería bueno si hubiera un método (por ejemplo, enscipy.interpolate) que podría manejar un np.array completo en lugar de valores escalares.

No estoy fijado en un algoritmo específico (todavía), por lo que me encantaría saber acerca de cualquiera que pueda usar matrices de números complejos como la "variable" que se va a interpolar. Como, como dije, hay pocos puntos irregulares en el espacio (y no hay cuadrícula para interpolar), la interpolación lineal simple no funcionará, por supuesto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta