elliptic_nome_by_epsilon_33 Function

private elemental function elliptic_nome_by_epsilon_33(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=real32), intent(in) :: pw01_eps

auxiliary parameter

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

Return Value real(kind=real32)

elliptic nome


Calls

proc~~elliptic_nome_by_epsilon_33~~CallsGraph proc~elliptic_nome_by_epsilon_33 elliptic_nome_by_epsilon_33 proc~elliptic_nome_by_epsilon_33_horner elliptic_nome_by_epsilon_33_horner proc~elliptic_nome_by_epsilon_33->proc~elliptic_nome_by_epsilon_33_horner proc~elliptic_nome_by_epsilon_29_horner elliptic_nome_by_epsilon_29_horner proc~elliptic_nome_by_epsilon_33_horner->proc~elliptic_nome_by_epsilon_29_horner proc~elliptic_nome_by_epsilon_25_horner elliptic_nome_by_epsilon_25_horner proc~elliptic_nome_by_epsilon_29_horner->proc~elliptic_nome_by_epsilon_25_horner proc~elliptic_nome_by_epsilon_21_horner elliptic_nome_by_epsilon_21_horner proc~elliptic_nome_by_epsilon_25_horner->proc~elliptic_nome_by_epsilon_21_horner proc~elliptic_nome_by_epsilon_17_horner elliptic_nome_by_epsilon_17_horner proc~elliptic_nome_by_epsilon_21_horner->proc~elliptic_nome_by_epsilon_17_horner proc~elliptic_nome_by_epsilon_13_horner elliptic_nome_by_epsilon_13_horner proc~elliptic_nome_by_epsilon_17_horner->proc~elliptic_nome_by_epsilon_13_horner proc~elliptic_nome_by_epsilon_09_horner elliptic_nome_by_epsilon_09_horner proc~elliptic_nome_by_epsilon_13_horner->proc~elliptic_nome_by_epsilon_09_horner proc~elliptic_nome_by_epsilon_05_horner elliptic_nome_by_epsilon_05_horner proc~elliptic_nome_by_epsilon_09_horner->proc~elliptic_nome_by_epsilon_05_horner

Called by

proc~~elliptic_nome_by_epsilon_33~~CalledByGraph proc~elliptic_nome_by_epsilon_33 elliptic_nome_by_epsilon_33 proc~elliptic_nome_33_real32 elliptic_nome_33_real32 proc~elliptic_nome_33_real32->proc~elliptic_nome_by_epsilon_33 proc~elliptic_nome_auto_real32 elliptic_nome_auto_real32 proc~elliptic_nome_auto_real32->proc~elliptic_nome_by_epsilon_33 interface~elliptic_nome_33 elliptic_nome_33 interface~elliptic_nome_33->proc~elliptic_nome_33_real32 interface~elliptic_nome_auto elliptic_nome_auto interface~elliptic_nome_auto->proc~elliptic_nome_auto_real32

Source Code

    elemental function elliptic_nome_by_epsilon_33(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 }
        !!             \\ & + 48555069 { \varepsilon }^{ 33 }
        !! \end{align*}
        !! $$

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

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



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



        q = &!
            elliptic_nome_by_epsilon_33_horner( &!
                pw01_eps = pw01_eps , &!
                pw04_eps = pw04_eps , &!
                pre_step = c_33       &!
            )

    end function elliptic_nome_by_epsilon_33