def area_from_mach(M, gamma):
    """Find the area ratio for a given Mach number.

    For isentropic nozzle flow, a station where the Mach number is :math:`M` will have an area
    :math:`A`. This function returns that area, normalized by the area of the nozzle throat
    :math:`A_t`.
    See :ref:`mach-area-tutorial-label` for a physical description of the Mach-Area relation.

    Reference: Rocket Propulsion Elements, 8th Edition, Equation 3-14.

    Arguments:
        M (scalar): Mach number [units: dimensionless].
        gamma (scalar): Ratio of specific heats [units: dimensionless].

    Returns:
        scalar: Area ratio :math:`A / A_t`.
    """
    return 1 / M * (2 / (gamma + 1) * (1 + (gamma - 1) / 2 * M ** 2)) ** ((
        gamma + 1) / (2 * (gamma - 1)))
