elliptic_nome_by_epsilon_29 Function

private elemental function elliptic_nome_by_epsilon_29(pw01_eps, pw04_eps) result(q)

Calculate the elliptic nome using the Horner's method and the following polynomial:

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: pw01_eps

auxiliary parameter

real(kind=real64), intent(in) :: pw04_eps

Return Value real(kind=real64)

elliptic nome


Calls

proc~~elliptic_nome_by_epsilon_29~3~~CallsGraph proc~elliptic_nome_by_epsilon_29~3 elliptic_nome_by_epsilon_29 proc~elliptic_nome_by_epsilon_29_horner~3 elliptic_nome_by_epsilon_29_horner proc~elliptic_nome_by_epsilon_29~3->proc~elliptic_nome_by_epsilon_29_horner~3 proc~elliptic_nome_by_epsilon_25_horner~3 elliptic_nome_by_epsilon_25_horner proc~elliptic_nome_by_epsilon_29_horner~3->proc~elliptic_nome_by_epsilon_25_horner~3 proc~elliptic_nome_by_epsilon_21_horner~3 elliptic_nome_by_epsilon_21_horner proc~elliptic_nome_by_epsilon_25_horner~3->proc~elliptic_nome_by_epsilon_21_horner~3 proc~elliptic_nome_by_epsilon_17_horner~3 elliptic_nome_by_epsilon_17_horner proc~elliptic_nome_by_epsilon_21_horner~3->proc~elliptic_nome_by_epsilon_17_horner~3 proc~elliptic_nome_by_epsilon_13_horner~3 elliptic_nome_by_epsilon_13_horner proc~elliptic_nome_by_epsilon_17_horner~3->proc~elliptic_nome_by_epsilon_13_horner~3 proc~elliptic_nome_by_epsilon_09_horner~3 elliptic_nome_by_epsilon_09_horner proc~elliptic_nome_by_epsilon_13_horner~3->proc~elliptic_nome_by_epsilon_09_horner~3 proc~elliptic_nome_by_epsilon_05_horner~3 elliptic_nome_by_epsilon_05_horner proc~elliptic_nome_by_epsilon_09_horner~3->proc~elliptic_nome_by_epsilon_05_horner~3

Called by

proc~~elliptic_nome_by_epsilon_29~3~~CalledByGraph proc~elliptic_nome_by_epsilon_29~3 elliptic_nome_by_epsilon_29 proc~elliptic_nome_29_real64 elliptic_nome_29_real64 proc~elliptic_nome_29_real64->proc~elliptic_nome_by_epsilon_29~3 proc~elliptic_nome_auto_real64 elliptic_nome_auto_real64 proc~elliptic_nome_auto_real64->proc~elliptic_nome_by_epsilon_29~3 interface~elliptic_nome_29 elliptic_nome_29 interface~elliptic_nome_29->proc~elliptic_nome_29_real64 interface~elliptic_nome_auto elliptic_nome_auto interface~elliptic_nome_auto->proc~elliptic_nome_auto_real64

Source Code

    elemental function elliptic_nome_by_epsilon_29(pw01_eps, pw04_eps) result(q)
        !! Calculate the elliptic nome \( q \) using
        !! the Horner's method and
        !! the following polynomial:
        !! $$
        !! \begin{align*}
        !! q(\varepsilon) &:=           \varepsilon
        !!             \\ & +       2 { \varepsilon }^{  5 }
        !!             \\ & +      15 { \varepsilon }^{  9 }
        !!             \\ & +     150 { \varepsilon }^{ 13 }
        !!             \\ & +    1707 { \varepsilon }^{ 17 }
        !!             \\ & +   20910 { \varepsilon }^{ 21 }
        !!             \\ & +  268616 { \varepsilon }^{ 25 }
        !!             \\ & + 3567400 { \varepsilon }^{ 29 }
        !! \end{align*}
        !! $$

        real(real64), intent(in) :: pw01_eps !! auxiliary parameter \( \varepsilon \)

        real(real64), intent(in) :: pw04_eps !! \( { \varepsilon }^{ 4 } \)



        real(real64) :: q !! elliptic nome \( q \)



        q = &!
            elliptic_nome_by_epsilon_29_horner( &!
                pw01_eps = pw01_eps , &!
                pw04_eps = pw04_eps , &!
                pre_step = c_29       &!
            )

    end function elliptic_nome_by_epsilon_29