def METHOD_NAME():
    x = [g.group.cartesian(u) for u in U]
    for y in x:
        y[:] = 0
    if not pure_gauge:
        forces = [[g.lattice(y) for y in x] for i in fields]
        log.time("fermion forces")
        for i in range(len(hasenbusch_ratios)):
            forces[i] = action_fermions_s[i].gradient(fields[i], fields[i][0 : len(U)])
        log.time()
        for i in range(len(hasenbusch_ratios)):
            log.gradient(forces[i], f"{hasenbusch_ratios[i][0]}/{hasenbusch_ratios[i][1]} {i}")
            for j in range(len(x)):
                x[j] += forces[i][j]
    return x