Parallelizing matrix computations with Numba

45 Views Asked by At

I am trying to parallelise the following function in Python 3.6:

def get_Q(predictors, d):
    Q = 0.
    for i in range(len(predictors)):
        for j in range(i+1, len(predictors)):
            ci = predictors[i,:]
            cj = predictors[j,:]
            Q += product_cols(ci, cj, d[i], d[j])
    return Q

where :
predictors[,] is an input array, with n-rows and p-features, and
d[] is an n-sized array.

The function product_cols() is defined as :

def product_cols(ci, cj, di, dj):
    c = ci-cj
    return np.matmul(np.transpose(np.matrix(c)), np.matrix(c))*((di-dj)**2)

where :
ci[], cj[] are p-sized arrays and
di, dj are real numbers.

Could someone help me to parallelise this simply?

0

There are 0 best solutions below