I am trying to run my code and I am using numba, to make it faster, however, every time I run it, I get a different result. I have checked it and when not using @jit, my results are replicable.
Does anyone know why?
@jit(nopython=True)
def weight_matrix(n1,n2,user,u,d,n):
b3=np.zeros((d,n2-n1))
for col in range(n1,n2):
v = user[:,col]
vOmega =v[v!=0]
uOmega =u[v!=0,:]
size1=vOmega.size
uOmega= np.reshape(uOmega, (size1,d))
vOmega= np.reshape(vOmega, (size1,1))
w= np.linalg.inv((uOmega.T)@uOmega)@(uOmega.T)@vOmega
b3[:,col-n1] = w[:,0]
return b3
user is a fixed numpy array, and u is a random matrix (the sees is fixed), d, n1, n2, n are fixed numbers.
numba version: 0.55.1 numpy version: 1.21.6
I tried Spyder, and Jupyter to make sure it is not my compiler. I have tried the code without jit and it runs with no issue.