\hypertarget{interfacew__module__interpolate_1_1pmm}{}\doxysection{w\+\_\+module\+\_\+interpolate\+::pmm Interface Reference}
\label{interfacew__module__interpolate_1_1pmm}\index{w\_module\_interpolate::pmm@{w\_module\_interpolate::pmm}}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
real(dp) function \mbox{\hyperlink{interfacew__module__interpolate_1_1pmm_add620460e3299156eb420569a9564741}{pmm\+\_\+array0}} (m, x)
\begin{DoxyCompactList}\small\item\em ルジャンドル陪函数 P\+\_\+m$^\wedge$m(x) の計算 \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


Definition at line 37 of file w\+\_\+module\+\_\+interpolate.\+f90.



\doxysubsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfacew__module__interpolate_1_1pmm_add620460e3299156eb420569a9564741}\label{interfacew__module__interpolate_1_1pmm_add620460e3299156eb420569a9564741}} 
\index{w\_module\_interpolate::pmm@{w\_module\_interpolate::pmm}!pmm\_array0@{pmm\_array0}}
\index{pmm\_array0@{pmm\_array0}!w\_module\_interpolate::pmm@{w\_module\_interpolate::pmm}}
\doxysubsubsection{\texorpdfstring{pmm\_array0()}{pmm\_array0()}}
{\footnotesize\ttfamily real(dp) function w\+\_\+module\+\_\+interpolate\+::pmm\+::pmm\+\_\+array0 (\begin{DoxyParamCaption}\item[{integer(8), intent(in)}]{m,  }\item[{real(dp), intent(in)}]{x }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



ルジャンドル陪函数 P\+\_\+m$^\wedge$m(x) の計算 

\begin{DoxyVerb}    sqrt( factrl(2*m+1) )/(2.0D0**m * factrl(m)) &
     * (1-x**2)**(m/2.0D0)
\end{DoxyVerb}


係数が発散しないように対数で計算する 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em m} & ルジャンドル陪函数の次数 \\
\hline
\mbox{\texttt{ in}}  & {\em x} & 引き数 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
ルジャンドル陪函数の値 
\end{DoxyReturn}


Definition at line 157 of file w\+\_\+module\+\_\+interpolate.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{157 }
\DoxyCodeLine{158       \textcolor{keywordtype}{integer(8)},  \textcolor{keywordtype}{intent(IN)} :: m}
\DoxyCodeLine{160 \textcolor{keywordtype}{      real}(DP), \textcolor{keywordtype}{intent(IN)} :: x}
\DoxyCodeLine{162 \textcolor{keywordtype}{      real}(DP)             :: Pmm\_array0}
\DoxyCodeLine{163 }
\DoxyCodeLine{164       \textcolor{keywordflow}{if} ( m < 0 ) \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'}, \&}
\DoxyCodeLine{165         \& \textcolor{stringliteral}{'Pmm in w\_Intepolate\_module'},    \&}
\DoxyCodeLine{166         \& \textcolor{stringliteral}{'order m should be larger equal to zero'})}
\DoxyCodeLine{167 }
\DoxyCodeLine{168       pmm\_array0 = 1.0d0}
\DoxyCodeLine{169       \textcolor{keywordflow}{if} ( m > 0 )\textcolor{keywordflow}{then}}
\DoxyCodeLine{170         pmm\_array0 = exp(gammaln(2.0d0*m+2.0d0)/2.0d0        \&}
\DoxyCodeLine{171           \&              -\/ m*dlog(2.0d0) -\/ gammaln(m+1.0d0)) \&}
\DoxyCodeLine{172           \&          *(1-\/x**2)**(m/2.0d0)}
\DoxyCodeLine{173 \textcolor{keywordflow}{      endif}}

\end{DoxyCode}


The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
w\+\_\+module/\mbox{\hyperlink{w__module__interpolate_8f90}{w\+\_\+module\+\_\+interpolate.\+f90}}\end{DoxyCompactItemize}
