def minimum_forward_error(coordinate_samples, phi_offset=0, psi_offset=0,
    theta_offset=0, beta_offset=0, chi_offset=0, high_symmetry_points=None):
    '\n    Sets offsets for a dataset of coordinate samples before forward converting them all to momentum. Then, for each sample, the\n    closest high symmetry point among the provided `high_symmetry_points` is calculated, and the distance to the high symmetry point obtained.\n    The distance of each of the coordinate samples to these symmetry points is returned, and the optimizer adjusts the offsets to find a "best"\n    set in the sense of least total L2 distance to the symmetry points.\n\n    If the coordinate samples are labelled as described above as H_i, then we return\n\n    $$\n    \text{min}_j |text{P}(H_i, \\Delta\\phi, \\Delta\theta, \\ldots) - S_j|\n    $$\n\n    and the optimizer attempts to optimize for\n\n    $$\n    \\sum_i \\left((\text{min}_j |text{P}(H_i, \\Delta\\phi, \\Delta\theta, \\ldots) - S_j|^2)\right)^2.\n    $$\n\n    We can therefore control the metric by returning a different distance back to the optimizer, if desired.\n    For instance, the L1 distance can be optimized if desired by instead returning\n\n    $$\n    \text{min}_j |text{P}(H_i, \\Delta\\phi, \\Delta\theta, \\ldots) - S_j|^\x0crac{1}{2}\n    $$\n\n    :param coordinate_samples: (N, 6 + 1)\n    :param phi_offset:\n    :param psi_offset:\n    :param theta_offset:\n    :param beta_offset:\n    :param chi_offset:\n    :param high_symmetry_points:\n    :return:\n    '
    pass
