libigl v2.5.0
Loading...
Searching...
No Matches
eigs.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2023 Alec Jacobson <alecjacobson@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
8#ifndef IGL_SPECTRA_EIGS_H
9#define IGL_SPECTRA_EIGS_H
10#include "../igl_inline.h"
11#include "../eigs.h"
12#include <Eigen/Core>
13#include <Eigen/Sparse>
14#include <Eigen/SparseLU>
15
16namespace igl
17{
18 namespace spectra
19 {
39 template <
40 typename EigsScalar,
41 typename DerivedU,
42 typename DerivedS,
43 typename Solver = Eigen::SparseLU<Eigen::SparseMatrix<EigsScalar>> >
45 const Eigen::SparseMatrix<EigsScalar> & A,
46 const Eigen::SparseMatrix<EigsScalar> & B,
47 const int k,
48 const igl::EigsType type,
49 Eigen::PlainObjectBase<DerivedU> & U,
50 Eigen::PlainObjectBase<DerivedS> & S);
53 template <
54 typename EigsScalar,
55 typename DerivedU,
56 typename DerivedS,
57 typename Solver = Eigen::SparseLU<Eigen::SparseMatrix<EigsScalar>> >
59 const Eigen::SparseMatrix<EigsScalar> & A,
60 const Eigen::SparseMatrix<EigsScalar> & B,
61 const int k,
62 const EigsScalar sigma,
63 Eigen::PlainObjectBase<DerivedU> & U,
64 Eigen::PlainObjectBase<DerivedS> & S);
65 }
66}
67
68#ifndef IGL_STATIC_LIBRARY
69#include "eigs.cpp"
70#endif
71#endif
#define IGL_INLINE
Definition igl_inline.h:15
bool eigs(const Eigen::SparseMatrix< EigsScalar > &A, const Eigen::SparseMatrix< EigsScalar > &B, const int k, const igl::EigsType type, Eigen::PlainObjectBase< DerivedU > &U, Eigen::PlainObjectBase< DerivedS > &S)
Act like MATLAB's eigs function.
Definition AABB.h:17
EigsType
Type of eigen values to extract.
Definition eigs.h:18