Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
c
d
e
f
g
i
k
l
m
n
p
q
r
s
t
u
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Classes
Class List
Class Hierarchy
Class Members
All
!
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
!
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
f
k
l
m
n
o
p
r
s
t
v
z
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Related Functions
:
a
b
c
d
e
g
h
i
l
m
n
o
p
r
s
t
u
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
x
z
Enumerations
Enumerator
b
c
e
f
g
i
l
m
n
o
p
r
s
t
u
v
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Examples
gtsam
3rdparty
Eigen
test
sparselu.cpp
Go to the documentation of this file.
1
// This file is part of Eigen, a lightweight C++ template library
2
// for linear algebra.
3
//
4
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
5
//
6
// This Source Code Form is subject to the terms of the Mozilla
7
// Public License v. 2.0. If a copy of the MPL was not distributed
8
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
10
// SparseLU solve does not accept column major matrices for the destination.
11
// However, as expected, the generic check_sparse_square_solving routines produces row-major
12
// rhs and destination matrices when compiled with EIGEN_DEFAULT_TO_ROW_MAJOR
13
14
#ifdef EIGEN_DEFAULT_TO_ROW_MAJOR
15
#undef EIGEN_DEFAULT_TO_ROW_MAJOR
16
#endif
17
18
#include "
sparse_solver.h
"
19
#include <Eigen/SparseLU>
20
#include <unsupported/Eigen/SparseExtra>
21
22
template
<
typename
T>
void
test_sparselu_T
()
23
{
24
SparseLU<SparseMatrix<T, ColMajor>
/*, COLAMDOrdering<int>*/
> sparselu_colamd;
// COLAMDOrdering is the default
25
SparseLU<SparseMatrix<T, ColMajor>
,
AMDOrdering<int>
> sparselu_amd;
26
SparseLU<SparseMatrix<T, ColMajor, long int>
,
NaturalOrdering<long int>
> sparselu_natural;
27
28
check_sparse_square_solving
(sparselu_colamd, 300, 100000,
true
);
29
check_sparse_square_solving
(sparselu_amd, 300, 10000,
true
);
30
check_sparse_square_solving
(sparselu_natural, 300, 2000,
true
);
31
32
check_sparse_square_abs_determinant
(sparselu_colamd);
33
check_sparse_square_abs_determinant
(sparselu_amd);
34
35
check_sparse_square_determinant
(sparselu_colamd);
36
check_sparse_square_determinant
(sparselu_amd);
37
}
38
39
EIGEN_DECLARE_TEST
(sparselu)
40
{
41
CALL_SUBTEST_1
(test_sparselu_T<float>());
42
CALL_SUBTEST_2
(test_sparselu_T<double>());
43
CALL_SUBTEST_3
(
test_sparselu_T
<std::complex<float> >());
44
CALL_SUBTEST_4
(
test_sparselu_T
<std::complex<double> >());
45
}
test_sparselu_T
void test_sparselu_T()
Definition:
sparselu.cpp:22
CALL_SUBTEST_4
#define CALL_SUBTEST_4(FUNC)
Definition:
split_test_helper.h:22
CALL_SUBTEST_3
#define CALL_SUBTEST_3(FUNC)
Definition:
split_test_helper.h:16
CALL_SUBTEST_1
#define CALL_SUBTEST_1(FUNC)
Definition:
split_test_helper.h:4
check_sparse_square_abs_determinant
void check_sparse_square_abs_determinant(Solver &solver)
Definition:
sparse_solver.h:634
Eigen::AMDOrdering
Definition:
3rdparty/Eigen/Eigen/src/OrderingMethods/Ordering.h:50
EIGEN_DECLARE_TEST
EIGEN_DECLARE_TEST(sparselu)
Definition:
sparselu.cpp:39
CALL_SUBTEST_2
#define CALL_SUBTEST_2(FUNC)
Definition:
split_test_helper.h:10
sparse_solver.h
check_sparse_square_solving
void check_sparse_square_solving(Solver &solver, int maxSize=300, int maxRealWorldSize=100000, bool checkDeficient=false)
Definition:
sparse_solver.h:534
check_sparse_square_determinant
void check_sparse_square_determinant(Solver &solver)
Definition:
sparse_solver.h:611
Eigen::SparseLU
Sparse supernodal LU factorization for general matrices.
Definition:
SparseLU.h:17
Eigen::NaturalOrdering
Definition:
3rdparty/Eigen/Eigen/src/OrderingMethods/Ordering.h:91
gtsam
Author(s):
autogenerated on Wed Mar 19 2025 03:03:48