@classmethod
def from_characteristic_rate(cls, min_mag, b_val, char_mag, char_rate,
    bin_width):
    """
        Define Youngs and Coppersmith 1985 MFD by constraing cumulative a
        value from characteristic rate.
        The cumulative a value is obtained by making use of the property that
        the rate of events at m' - 1 must be equal to the rate at the
        characteristic magnitude, and therefore by first computing the
        incremental a value, using the following equation::

            10 ** (a_incr - b_val * (m_prime - 1)) == char_rate / 0.5

        where ``m' - 1 = char_mag - 1.25``.
        The cumulative a value is then obtained as ::

            a_val = a_incr - log10(b_val * ln(10))

        :param min_mag:
            The lowest magnitude for the MFD. The first bin in the
            :meth:`result histogram <get_annual_occurrence_rates>` is aligned
            to make its left border match this value.
        :param b_val:
            The Gutenberg-Richter ``b`` value -- the gradient of the loglinear
            G-R relationship.
        :param char_mag:
            The characteristic magnitude defining the middle point of
            characteristic distribution. That is the boxcar function
            representing the characteristic distribution is defined in the
            range [char_mag - 0.25, char_mag + 0.25].
        :param char_rate:
            The characteristic rate associated to the characteristic magnitude,
            to be distributed over the domain of the boxcar function
            representing the characteristic distribution (that is λ_char =
            char_rate / 0.5)
        :param bin_width:
            A positive float value -- the width of a single histogram bin.
        :returns:
            An instance of :class:`YoungsCoppersmith1985MFD`.

        Values for ``min_mag`` and the maximum magnitude (char_mag + 0.25)
        don't have to be aligned with respect to ``bin_width``. They get
        rounded accordingly anyway so that both are divisible by ``bin_width``
        just before converting a function to a histogram.
        See :meth:`_get_min_mag_and_num_bins`.
        """
    return cls(min_mag, b_val, char_mag, char_rate, bin_width)
