\hypertarget{ddss__dpotrf_8c}{}\section{src/ddss\+\_\+dpotrf.c File Reference}
\label{ddss__dpotrf_8c}\index{src/ddss\+\_\+dpotrf.\+c@{src/ddss\+\_\+dpotrf.\+c}}


L\+A\+Ss-\/\+D\+D\+Ss ddss\+\_\+dpotrf routine.  


{\ttfamily \#include \char`\"{}../include/lass.\+h\char`\"{}}\\*
Include dependency graph for ddss\+\_\+dpotrf.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{ddss__dpotrf_8c__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{ddss__dpotrf_8c_a7b849eccd797212a1ce50ee598bde5e2}{ddss\+\_\+dpotrf} (enum D\+D\+S\+S\+\_\+\+U\+P\+LO U\+P\+LO, int N, double $\ast$A, int L\+DA)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
L\+A\+Ss-\/\+D\+D\+Ss ddss\+\_\+dpotrf routine. 

L\+A\+Ss-\/\+D\+D\+Ss is a software package provided by\+: Barcelona Supercomputing Center -\/ Centro Nacional de Supercomputacion

\begin{DoxyAuthor}{Author}
Pedro Valero-\/\+Lara \href{mailto:pedro.valero@bsc.es}{\tt pedro.\+valero@bsc.\+es} 
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
2017-\/15-\/08   
\end{DoxyDate}


\subsection{Function Documentation}
\index{ddss\+\_\+dpotrf.\+c@{ddss\+\_\+dpotrf.\+c}!ddss\+\_\+dpotrf@{ddss\+\_\+dpotrf}}
\index{ddss\+\_\+dpotrf@{ddss\+\_\+dpotrf}!ddss\+\_\+dpotrf.\+c@{ddss\+\_\+dpotrf.\+c}}
\subsubsection[{\texorpdfstring{ddss\+\_\+dpotrf(enum D\+D\+S\+S\+\_\+\+U\+P\+L\+O U\+P\+L\+O, int N, double $\ast$\+A, int L\+D\+A)}{ddss_dpotrf(enum DDSS_UPLO UPLO, int N, double *A, int LDA)}}]{\setlength{\rightskip}{0pt plus 5cm}int ddss\+\_\+dpotrf (
\begin{DoxyParamCaption}
\item[{enum D\+D\+S\+S\+\_\+\+U\+P\+LO}]{U\+P\+LO, }
\item[{int}]{N, }
\item[{double $\ast$}]{A, }
\item[{int}]{L\+DA}
\end{DoxyParamCaption}
)}\hypertarget{ddss__dpotrf_8c_a7b849eccd797212a1ce50ee598bde5e2}{}\label{ddss__dpotrf_8c_a7b849eccd797212a1ce50ee598bde5e2}
Performs the Cholesky factorization of a symmetric positive definite matrix A\+: \begin{DoxyVerb}A = L \times L^T
or
A = U^T \times U
\end{DoxyVerb}


where L is a lower triangular matrix and U is an upper triangular matrix.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em U\+P\+LO} & enum D\+D\+S\+S\+\_\+\+U\+P\+LO. U\+P\+LO specifies the form of A is stored\+:
\begin{DoxyItemize}
\item Lower\+: Lower triangle of A is stored. The upper traingular part is not referenced.
\item Upper\+: Upper triangle of A is stored. The lower triangular part is not referenced.
\end{DoxyItemize}\\
\hline
\mbox{\tt in}  & {\em N} & int. N specifies the order of the square matrix A. N $>$= 0.\\
\hline
\mbox{\tt in,out}  & {\em A} & double $\ast$. A is a pointer to a positive definite matrix of dimension N by L\+DA. On exit, if return value is Success, the matrix A is overwriten by the factor U or L.\\
\hline
\mbox{\tt in}  & {\em L\+DA} & int. L\+DA specifies the number of columns of A ( row-\/major order ). L\+DA must be at least max( 1, N ).\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em Success} & successful exit \\
\hline
{\em No\+Success} & unsuccessful exit\\
\hline
\end{DoxyRetVals}
\begin{DoxySeeAlso}{See also}
\hyperlink{lass_8h_a561483d08d424c9a13076e0ae998cabd}{kdpotrf} 
\end{DoxySeeAlso}


Definition at line 74 of file ddss\+\_\+dpotrf.\+c.



References kdpotrf().


\begin{DoxyCode}
75 \{
76 
77     \textcolor{comment}{// Argument checking}
78     \textcolor{keywordflow}{if} ( ( UPLO != Upper ) && ( UPLO != Lower ) )
79     \{
80         fprintf( stderr, \textcolor{stringliteral}{"Illegal value of UPLO, in ddss\_dportf code\(\backslash\)n"} );
81         \textcolor{keywordflow}{return} NoSuccess;
82     \}
83     
84     \textcolor{keywordflow}{if} ( N < 0 )
85     \{
86         fprintf( stderr, \textcolor{stringliteral}{"Illegal value of N, in ddss\_dportf code\(\backslash\)n"} );
87         \textcolor{keywordflow}{return} NoSuccess;
88     \}
89 
90     \textcolor{keywordflow}{if} ( LDA < MAX( 1, N ) )
91     \{
92         fprintf( stderr, \textcolor{stringliteral}{"Illegal value of LDA, in ddss\_dportf code\(\backslash\)n"} );
93         \textcolor{keywordflow}{return} NoSuccess;
94     \}
95 
96     \textcolor{comment}{// Quick return}
97     \textcolor{keywordflow}{if} ( MAX( N, 0 ) == 0 )
98     \{
99         \textcolor{keywordflow}{return} Success;
100     \}
101     
102     \textcolor{keywordflow}{return} \hyperlink{kdpotrf_8c_a561483d08d424c9a13076e0ae998cabd}{kdpotrf}( UPLO, N, A, LDA );
103     
104 \}
\end{DoxyCode}
