\section{lib/sfdpgen/sparse\-\_\-solve.h File Reference}
\label{sparse__solve_8h}\index{lib/sfdpgen/sparse\-\_\-solve.\-h@{lib/sfdpgen/sparse\-\_\-solve.\-h}}
{\ttfamily \#include \char`\"{}Sparse\-Matrix.\-h\char`\"{}}\\*
Include dependency graph for sparse\-\_\-solve.\-h\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{sparse__solve_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\-:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{sparse__solve_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct {\bf Operator\-\_\-struct}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct {\bf Operator\-\_\-struct} $\ast$ {\bf Operator}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bf S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-C\-G}, 
{\bf S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-J\-A\-C\-O\-B\-I}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\bf real} {\bf cg} ({\bf Operator} Ax, {\bf Operator} precond, {\bf int} n, {\bf int} dim, {\bf real} $\ast$x0, {\bf real} $\ast$rhs, {\bf real} tol, {\bf int} maxit, {\bf int} $\ast$flag)
\item 
{\bf real} {\bf Sparse\-Matrix\-\_\-solve} ({\bf Sparse\-Matrix} A, {\bf int} dim, {\bf real} $\ast$x0, {\bf real} $\ast$rhs, {\bf real} tol, {\bf int} maxit, {\bf int} method, {\bf int} $\ast$flag)
\item 
{\bf Operator} {\bf Operator\-\_\-uniform\-\_\-stress\-\_\-matmul} ({\bf Sparse\-Matrix} A, {\bf real} {\bf alpha})
\item 
{\bf Operator} {\bf Operator\-\_\-uniform\-\_\-stress\-\_\-diag\-\_\-precon\-\_\-new} ({\bf Sparse\-Matrix} A, {\bf real} {\bf alpha})
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\index{sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}!Operator@{Operator}}
\index{Operator@{Operator}!sparse_solve.h@{sparse\-\_\-solve.\-h}}
\subsubsection[{Operator}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf Operator\-\_\-struct}$\ast$ {\bf Operator}}\label{sparse__solve_8h_a20e4a188c8159a1b4f2df36c753a4694}


Definition at line 22 of file sparse\-\_\-solve.\-h.



\subsection{Enumeration Type Documentation}
\subsubsection[{anonymous enum}]{\setlength{\rightskip}{0pt plus 5cm}anonymous enum}\label{sparse__solve_8h_a96a58e29e8dbf2b5bdeb775cba46556e}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-C\-G@{S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-C\-G}!sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}}\index{sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}!S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-C\-G@{S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-C\-G}}\item[{\em 
S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-C\-G\label{sparse__solve_8h_a96a58e29e8dbf2b5bdeb775cba46556eaf028ffcf8e1fc266b4d6637f6569dc2e}
}]\index{S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-J\-A\-C\-O\-B\-I@{S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-J\-A\-C\-O\-B\-I}!sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}}\index{sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}!S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-J\-A\-C\-O\-B\-I@{S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-J\-A\-C\-O\-B\-I}}\item[{\em 
S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-J\-A\-C\-O\-B\-I\label{sparse__solve_8h_a96a58e29e8dbf2b5bdeb775cba46556eac13233bb0c3887a3216eb627c7efc85b}
}]\end{description}
\end{Desc}


Definition at line 20 of file sparse\-\_\-solve.\-h.



\subsection{Function Documentation}
\index{sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}!cg@{cg}}
\index{cg@{cg}!sparse_solve.h@{sparse\-\_\-solve.\-h}}
\subsubsection[{cg}]{\setlength{\rightskip}{0pt plus 5cm}{\bf real} cg (
\begin{DoxyParamCaption}
\item[{{\bf Operator}}]{Ax, }
\item[{{\bf Operator}}]{precond, }
\item[{{\bf int}}]{n, }
\item[{{\bf int}}]{dim, }
\item[{{\bf real} $\ast$}]{x0, }
\item[{{\bf real} $\ast$}]{rhs, }
\item[{{\bf real}}]{tol, }
\item[{{\bf int}}]{maxit, }
\item[{{\bf int} $\ast$}]{flag}
\end{DoxyParamCaption}
)}\label{sparse__solve_8h_a61eca95072bf98c4ea2c90f214591a2c}


Definition at line 227 of file sparse\-\_\-solve.\-c.



References conjugate\-\_\-gradient(), F\-R\-E\-E, N\-\_\-\-G\-N\-E\-W, and real.



Referenced by Sparse\-Matrix\-\_\-solve().

\index{sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}!Operator\-\_\-uniform\-\_\-stress\-\_\-diag\-\_\-precon\-\_\-new@{Operator\-\_\-uniform\-\_\-stress\-\_\-diag\-\_\-precon\-\_\-new}}
\index{Operator\-\_\-uniform\-\_\-stress\-\_\-diag\-\_\-precon\-\_\-new@{Operator\-\_\-uniform\-\_\-stress\-\_\-diag\-\_\-precon\-\_\-new}!sparse_solve.h@{sparse\-\_\-solve.\-h}}
\subsubsection[{Operator\-\_\-uniform\-\_\-stress\-\_\-diag\-\_\-precon\-\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Operator} Operator\-\_\-uniform\-\_\-stress\-\_\-diag\-\_\-precon\-\_\-new (
\begin{DoxyParamCaption}
\item[{{\bf Sparse\-Matrix}}]{A, }
\item[{{\bf real}}]{alpha}
\end{DoxyParamCaption}
)}\label{sparse__solve_8h_a44b37b94e1fcbc83ed17fb1bd8a0ac38}


Definition at line 100 of file sparse\-\_\-solve.\-c.



References Sparse\-Matrix\-\_\-struct\-::a, A\-B\-S, assert, Operator\-\_\-struct\-::data, for(), Sparse\-Matrix\-\_\-struct\-::ia, Sparse\-Matrix\-\_\-struct\-::ja, Sparse\-Matrix\-\_\-struct\-::m, M\-A\-L\-L\-O\-C, M\-A\-T\-R\-I\-X\-\_\-\-T\-Y\-P\-E\-\_\-\-R\-E\-A\-L, Operator\-\_\-struct\-::\-Operator\-\_\-apply, Operator\-\_\-diag\-\_\-precon\-\_\-apply(), real, and Sparse\-Matrix\-\_\-struct\-::type.

\index{sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}!Operator\-\_\-uniform\-\_\-stress\-\_\-matmul@{Operator\-\_\-uniform\-\_\-stress\-\_\-matmul}}
\index{Operator\-\_\-uniform\-\_\-stress\-\_\-matmul@{Operator\-\_\-uniform\-\_\-stress\-\_\-matmul}!sparse_solve.h@{sparse\-\_\-solve.\-h}}
\subsubsection[{Operator\-\_\-uniform\-\_\-stress\-\_\-matmul}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Operator} Operator\-\_\-uniform\-\_\-stress\-\_\-matmul (
\begin{DoxyParamCaption}
\item[{{\bf Sparse\-Matrix}}]{A, }
\item[{{\bf real}}]{alpha}
\end{DoxyParamCaption}
)}\label{sparse__solve_8h_ae8dc94b9e1a01dc1fb3218499febb320}


Definition at line 56 of file sparse\-\_\-solve.\-c.



References uniform\-\_\-stress\-\_\-matmul\-\_\-data\-::\-A, uniform\-\_\-stress\-\_\-matmul\-\_\-data\-::alpha, alpha, Operator\-\_\-struct\-::data, M\-A\-L\-L\-O\-C, Operator\-\_\-struct\-::\-Operator\-\_\-apply, and Operator\-\_\-uniform\-\_\-stress\-\_\-matmul\-\_\-apply().

\index{sparse\-\_\-solve.\-h@{sparse\-\_\-solve.\-h}!Sparse\-Matrix\-\_\-solve@{Sparse\-Matrix\-\_\-solve}}
\index{Sparse\-Matrix\-\_\-solve@{Sparse\-Matrix\-\_\-solve}!sparse_solve.h@{sparse\-\_\-solve.\-h}}
\subsubsection[{Sparse\-Matrix\-\_\-solve}]{\setlength{\rightskip}{0pt plus 5cm}{\bf real} Sparse\-Matrix\-\_\-solve (
\begin{DoxyParamCaption}
\item[{{\bf Sparse\-Matrix}}]{A, }
\item[{{\bf int}}]{dim, }
\item[{{\bf real} $\ast$}]{x0, }
\item[{{\bf real} $\ast$}]{rhs, }
\item[{{\bf real}}]{tol, }
\item[{{\bf int}}]{maxit, }
\item[{{\bf int}}]{method, }
\item[{{\bf int} $\ast$}]{flag}
\end{DoxyParamCaption}
)}\label{sparse__solve_8h_a8dc2d7b191617801135af367c191d602}


Definition at line 296 of file sparse\-\_\-solve.\-c.



References assert, cg(), jacobi(), Sparse\-Matrix\-\_\-struct\-::m, Operator\-\_\-diag\-\_\-precon\-\_\-delete(), Operator\-\_\-diag\-\_\-precon\-\_\-new(), Operator\-\_\-matmul\-\_\-delete(), Operator\-\_\-matmul\-\_\-new(), real, S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-C\-G, and S\-O\-L\-V\-E\-\_\-\-M\-E\-T\-H\-O\-D\-\_\-\-J\-A\-C\-O\-B\-I.



Referenced by Stress\-Majorization\-Smoother\-\_\-smooth().

