def _Refractive(rho, T, l=0.5893):
    """Equation for the refractive index

    Parameters
    ----------
    rho : float
        Density, [kg/m³]
    T : float
        Temperature, [K]
    l : float, optional
        Light Wavelength, [μm]

    Returns
    -------
    n : float
        Refractive index, [-]

    Notes
    ------
    Raise :class:`NotImplementedError` if input isn't in limit:

        * 0 ≤ ρ ≤ 1060
        * 261.15 ≤ T ≤ 773.15
        * 0.2 ≤ λ ≤ 1.1

    Examples
    --------
    >>> _Refractive(997.047435, 298.15, 0.2265)
    1.39277824
    >>> _Refractive(30.4758534, 773.15, 0.5893)
    1.00949307

    References
    ----------
    IAPWS, Release on the Refractive Index of Ordinary Water Substance as a
    Function of Wavelength, Temperature and Pressure,
    http://www.iapws.org/relguide/rindex.pdf
    """
    if rho < 0 or rho > 1060 or T < 261.15 or T > 773.15 or l < 0.2 or l > 1.1:
        raise NotImplementedError('Incoming out of bound')
    Lir = 5.432937
    Luv = 0.229202
    d = rho / 1000.0
    Tr = T / 273.15
    L = l / 0.589
    a = [0.244257733, 0.00974634476, -0.00373234996, 0.000268678472, 
        0.0015892057, 0.00245934259, 0.90070492, -0.0166626219]
    A = d * (a[0] + a[1] * d + a[2] * Tr + a[3] * L ** 2 * Tr + a[4] / L **
        2 + a[5] / (L ** 2 - Luv ** 2) + a[6] / (L ** 2 - Lir ** 2) + a[7] *
        d ** 2)
    return ((2 * A + 1) / (1 - A)) ** 0.5
