@decorator_util.jit()<EOL>def curvature_matrix_from_blurred_mapping_matrix_jit(blurred_mapping_matrix, noise_map_1d, flist, iflist):
curvature_matrix = np.zeros((blurred_mapping_matrix.shape[<NUM_LIT:1>], blurred_mapping_matrix.shape[<NUM_LIT:1>]))<EOL>for image_index in range(blurred_mapping_matrix.shape[<NUM_LIT:0>]):<EOL><INDENT>index = <NUM_LIT:0><EOL>for pixel_index in range(blurred_mapping_matrix.shape[<NUM_LIT:1>]):<EOL><INDENT>if blurred_mapping_matrix[image_index, pixel_index] > <NUM_LIT:0.0>:<EOL><INDENT>flist[index] = blurred_mapping_matrix[image_index, pixel_index] / noise_map_1d[image_index]<EOL>iflist[index] = pixel_index<EOL>index += <NUM_LIT:1><EOL><DEDENT><DEDENT>if index > <NUM_LIT:0>:<EOL><INDENT>for i1 in range(index):<EOL><INDENT>for j1 in range(index):<EOL><INDENT>ix = iflist[i1]<EOL>iy = iflist[j1]<EOL>curvature_matrix[ix, iy] += flist[i1] * flist[j1]<EOL><DEDENT><DEDENT><DEDENT><DEDENT>for i in range(blurred_mapping_matrix.shape[<NUM_LIT:1>]):<EOL><INDENT>for j in range(blurred_mapping_matrix.shape[<NUM_LIT:1>]):<EOL><INDENT>curvature_matrix[i, j] = curvature_matrix[j, i]<EOL><DEDENT><DEDENT>return curvature_matrix<EOL>
Compute the curvature matrix *F* from a blurred mapping matrix *f* and the 1D noise-map *\sigma* \
    (see Warren & Dye 2003).

    Parameters
    -----------
    blurred_mapping_matrix : ndarray
        The matrix representing the blurred mappings between sub-grid pixels and pixelization pixels.
    noise_map_1d : ndarray
        Flattened 1D array of the noise-map used by the inversion during the fit.
    flist : ndarray
        NumPy array of floats used to store mappings for efficienctly calculation.
    iflist : ndarray
        NumPy array of integers used to store mappings for efficienctly calculation.