elliptic_nome_by_epsilon_13 Function

private elemental function elliptic_nome_by_epsilon_13(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_13~~CallsGraph proc~elliptic_nome_by_epsilon_13 elliptic_nome_by_epsilon_13 proc~elliptic_nome_by_epsilon_13_horner elliptic_nome_by_epsilon_13_horner proc~elliptic_nome_by_epsilon_13->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_13~~CalledByGraph proc~elliptic_nome_by_epsilon_13 elliptic_nome_by_epsilon_13 proc~elliptic_nome_13_real32 elliptic_nome_13_real32 proc~elliptic_nome_13_real32->proc~elliptic_nome_by_epsilon_13 proc~elliptic_nome_auto_real32 elliptic_nome_auto_real32 proc~elliptic_nome_auto_real32->proc~elliptic_nome_by_epsilon_13 interface~elliptic_nome_13 elliptic_nome_13 interface~elliptic_nome_13->proc~elliptic_nome_13_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_13(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 }
        !! \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_13_horner( &!
                pw01_eps = pw01_eps , &!
                pw04_eps = pw04_eps , &!
                pre_step = c_13       &!
            )

    end function elliptic_nome_by_epsilon_13