def __det3x3__(a):
    """ compute the 3x3 determinant of an array

    Hard coded equations are 8 times faster than np.linalg.det for a matrix 3x3

    Parameters
    ----------
    a: ndarray, shape=(3,3), dtype=float
        array matrix

    Returns
    -------
    val: float
        determinant of a
    """
    val  = +a[0] * (a[4] * a[8] - a[7] * a[5])
    val += -a[1] * (a[3] * a[8] - a[6] * a[5])
    val += +a[2] * (a[3] * a[7] - a[6] * a[4])
    return val