Eigen-unsupported  5.0.1-dev
 
Loading...
Searching...
No Matches
SparseExtra
1// This file is part of Eigen, a lightweight C++ template library
2// for linear algebra.
3//
4// Copyright (C) 2008-2009 Gael Guennebaud <g.gael@free.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#ifndef EIGEN_SPARSE_EXTRA_MODULE_H
11#define EIGEN_SPARSE_EXTRA_MODULE_H
12
13#include "../../Eigen/Sparse"
14
15#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
16
17#include <vector>
18#include <map>
19#include <unordered_map>
20#include <cstdlib>
21#include <cstring>
22#include <algorithm>
23#include <fstream>
24#include <sstream>
25
26#ifdef EIGEN_GOOGLEHASH_SUPPORT
27#include <google/dense_hash_map>
28#include <google/sparse_hash_map>
29#endif
30
31/**
32 * \defgroup SparseExtra_Module SparseExtra module
33 *
34 * This module contains some experimental features extending the sparse module:
35 * - A RandomSetter which is a wrapper object allowing to set/update a sparse matrix with random access.
36 * - A SparseInverse which calculates a sparse subset of the inverse of a sparse matrix corresponding to nonzeros of the
37 * input
38 * - MatrixMarket format(https://math.nist.gov/MatrixMarket/formats.html) readers and writers for sparse and dense
39 * matrices.
40 *
41 * \code
42 * #include <unsupported/Eigen/SparseExtra>
43 * \endcode
44 */
45
46// IWYU pragma: begin_exports
47#include "src/SparseExtra/RandomSetter.h"
48#include "src/SparseExtra/SparseInverse.h"
49
50#include "src/SparseExtra/MarketIO.h"
51
52#if !defined(_WIN32)
53#include <dirent.h>
54#include "src/SparseExtra/MatrixMarketIterator.h"
55#endif
56// IWYU pragma: end_exports
57
58#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
59
60#endif // EIGEN_SPARSE_EXTRA_MODULE_H