1// This file is part of Eigen, a lightweight C++ template library
4// Copyright (C) 2008-2009 Gael Guennebaud <g.gael@free.fr>
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/.
10#ifndef EIGEN_SPARSE_EXTRA_MODULE_H
11#define EIGEN_SPARSE_EXTRA_MODULE_H
13#include "../../Eigen/Sparse"
15#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
19#include <unordered_map>
26#ifdef EIGEN_GOOGLEHASH_SUPPORT
27#include <google/dense_hash_map>
28#include <google/sparse_hash_map>
32 * \defgroup SparseExtra_Module SparseExtra module
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
38 * - MatrixMarket format(https://math.nist.gov/MatrixMarket/formats.html) readers and writers for sparse and dense
42 * #include <unsupported/Eigen/SparseExtra>
46// IWYU pragma: begin_exports
47#include "src/SparseExtra/RandomSetter.h"
48#include "src/SparseExtra/SparseInverse.h"
50#include "src/SparseExtra/MarketIO.h"
54#include "src/SparseExtra/MatrixMarketIterator.h"
56// IWYU pragma: end_exports
58#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
60#endif // EIGEN_SPARSE_EXTRA_MODULE_H