Here the question with details and I think it's clearer,
suppose I have a matrix h of size 4 x 4 , and a vector of x of size 4 x 1, if we have y is the output of multiplication between h and x which means  y = h * x; whose size is 1 x 4. So when I multiply again the inverse of every column in h by vector y, I should be able to get a vector equivalent of vector x which means $x = h^{-1} * y $. But unfortunately, I can't get that in python. 
for example, let's first do that in MATLAB:
clear all 
clc 
h = (randn(4,4) + 1j*randn(4,4));  %any matrix of 4 x 4 
x = [1 + 1j ; 0; 0 ; 0];           % a vector of 4 x 1 
y = h * x ;                       % y is the output of multiplication 
x2 = [];
for ii = 1 : 4 
    x1 = pinv(h(:,ii))*y;        %multiply every column of h^(-1) with y  
    x2 = [x2 x1];                % the output
end
in that case, the output x2 is as expected, a vector 1 x 4 as below: 
x2 =
   1.0000 + 1.0000i   0.7249 + 0.5054i  -0.0202 + 0.0104i   0.2429 + 0.0482i
In MATLAB, that's ok.
Now let's do that in python:
import numpy as np
h = np.random.randn(4,4) + 1j*np.random.randn(4,4)
x = [[1+1j],[0+0j],[0+0j],[0+0j]]
y = h.dot(x)
x2 = []
for ii in range(4):
    x1 = np.divide(y, h[:,ii])
    x2.append(x1)
    print(x2)
Although x2 is supposed to be a vector of dimension 1 x 4 similar as in output of above MATLAB code, but in that case, I get x2 a matrix of size 4 x 4   !!
please any help.
 
    