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=real128), intent(in) :: pw01_eps

auxiliary parameter

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

Return Value real(kind=real128)

elliptic nome


Calls

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

Called by

proc~~elliptic_nome_by_epsilon_33~2~~CalledByGraph proc~elliptic_nome_by_epsilon_33~2 elliptic_nome_by_epsilon_33 proc~elliptic_nome_33_real128 elliptic_nome_33_real128 proc~elliptic_nome_33_real128->proc~elliptic_nome_by_epsilon_33~2 proc~elliptic_nome_auto_real128 elliptic_nome_auto_real128 proc~elliptic_nome_auto_real128->proc~elliptic_nome_by_epsilon_33~2 interface~elliptic_nome_33 elliptic_nome_33 interface~elliptic_nome_33->proc~elliptic_nome_33_real128 interface~elliptic_nome_auto elliptic_nome_auto interface~elliptic_nome_auto->proc~elliptic_nome_auto_real128

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(real128), intent(in) :: pw01_eps !! auxiliary parameter \( \varepsilon \)

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



        real(real128) :: 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