How to use np.sum with multiple arrays and axis?

I’m quite new to numba. I would have thought the following basic numpy code would compile.

@nb.jit(nopython=True)
def vccf_multi(v: np.ndarray,mode: int) → np.ndarray:
n_molecules = v.shape[0]
res = np.zeros(v.shape[2])

if mode == 1:
    for i in range(n_molecules):
        for j in range(i, n_molecules):
            if i != j:
                delta_x = np.convolve(v[i,0], np.flipud(v[j,0]))
                delta_y = np.convolve(v[i,1], np.flipud(v[j,1]))
                delta_z = np.convolve(v[i,2], np.flipud(v[j,2]))
                vccf_delta = np.sum((delta_x[v.shape[2]-1::-1], \
                                     delta_y[v.shape[2]-1::-1],delta_z[v.shape[2]-1::-1]),axis=0)
                res += vccf_delta
                vccf_delta = np.sum((delta_x[v.shape[2]-1:], \
                                      delta_y[v.shape[2]-1:],delta_z[v.shape[2]-1:]),axis=0)
                res += vccf_delta
    
return res

The goal of the function is to calculate a correlation function, after np.convolve, all three parts of correlation function will be added by column.
I failed in compilation and got the error followed:

TypingError: No implementation of function Function(<function sum at 0x0000022495400EE0>) found for signature:

sum(UniTuple(array(float64, 1d, A) x 3), axis=Literalint)

There are 2 candidate implementations:
- Of which 2 did not match due to:
Overload of function ‘sum’: File: numba\core\typing\npydecl.py: Line 379.
With argument(s): ‘(UniTuple(array(float64, 1d, A) x 3), axis=Literalint)’:
No match.

During: resolving callee type: Function(<function sum at 0x0000022495400EE0>)

So, it’s that means numba don’t support np.sum with multiple array?
I also try a simple test for np.sum like this:

@nb.njit()
def s_u_m() → np.ndarray:

a = np.array([1,2,3])
b = np.array([3,5,3])

res = np.sum((a,b))

return res

s_u_m()

it also reported the same error:
No implementation of function Function(<function sum at 0x0000021A46842DC0>) found for signature:

sum(UniTuple(array(int64, 1d, C) x 2))

There are 2 candidate implementations:

  • Of which 2 did not match due to:
    Overload of function ‘sum’: File: numba\core\typing\npydecl.py: Line 379.
    With argument(s): ‘(UniTuple(array(int64, 1d, C) x 2))’:
    No match.

During: resolving callee type: Function(<function sum at 0x0000021A46842DC0>)