Geogram
Version 1.9.1
A programming library of geometric algorithms
nl_iterative_solvers.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2000-2022 Inria
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* * Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
* * Redistributions in binary form must reproduce the above copyright notice,
11
* this list of conditions and the following disclaimer in the documentation
12
* and/or other materials provided with the distribution.
13
* * Neither the name of the ALICE Project-Team nor the names of its
14
* contributors may be used to endorse or promote products derived from this
15
* software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
21
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27
* POSSIBILITY OF SUCH DAMAGE.
28
*
29
* Contact: Bruno Levy
30
*
31
* https://www.inria.fr/fr/bruno-levy
32
*
33
* Inria,
34
* Domaine de Voluceau,
35
* 78150 Le Chesnay - Rocquencourt
36
* FRANCE
37
*
38
*/
39
40
41
#ifndef OPENNL_ITERATIVE_SOLVERS_H
42
#define OPENNL_ITERATIVE_SOLVERS_H
43
44
#include "
nl_private.h
"
45
#include "
nl_matrix.h
"
46
#include "
nl_blas.h
"
47
53
#ifdef __cplusplus
54
extern
"C"
{
55
#endif
56
80
NLAPI
NLuint
NLAPIENTRY
nlSolveSystemIterative
(
81
NLBlas_t
blas,
82
NLMatrix
M,
NLMatrix
P,
NLdouble
* b,
NLdouble
* x,
83
NLenum
solver,
84
double
eps,
NLuint
max_iter,
NLuint
inner_iter
85
);
86
87
#ifdef __cplusplus
88
}
89
#endif
90
91
#endif
NLuint
uint32_t NLuint
A 4-bytes unsigned integer.
Definition:
nl.h:263
NLdouble
double NLdouble
A double-precision floating-point number.
Definition:
nl.h:288
NLenum
unsigned int NLenum
A symbolic constant.
Definition:
nl.h:215
nl_blas.h
Abstract interface to the basic linear algebra routines used by OpenNL internally.
nlSolveSystemIterative
NLAPI NLuint NLAPIENTRY nlSolveSystemIterative(NLBlas_t blas, NLMatrix M, NLMatrix P, NLdouble *b, NLdouble *x, NLenum solver, double eps, NLuint max_iter, NLuint inner_iter)
Solves a linear system using an iterative solver.
nl_matrix.h
Internal OpenNL functions to manipulate sparse matrices.
nl_private.h
Some macros and functions used internally by OpenNL.
NLBlas
Definition:
nl_blas.h:353
NLMatrixStruct
The base class for abstract matrices.
Definition:
nl_matrix.h:80
geogram
NL
nl_iterative_solvers.h
Generated on Wed Nov 20 2024 21:25:23 for Geogram by
1.9.1