Skip to content
GitLab
Explore
Sign in
Expand all
Hide whitespace changes
Inline
Side-by-side
Some changes are not shown.
For a faster browsing experience, only
20 of 1000+
files are shown. Download one of the files below to see all changes.
external/eigen3/Eigen/QtAlignedMalloc
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_QTMALLOC_MODULE_H
#ifndef EIGEN_QTMALLOC_MODULE_H
#define EIGEN_QTMALLOC_MODULE_H
#define EIGEN_QTMALLOC_MODULE_H
...
@@ -8,7 +14,7 @@
...
@@ -8,7 +14,7 @@
#include
"src/Core/util/DisableStupidWarnings.h"
#include
"src/Core/util/DisableStupidWarnings.h"
void
*
qMalloc
(
size_t
size
)
void
*
qMalloc
(
std
::
size_t
size
)
{
{
return
Eigen
::
internal
::
aligned_malloc
(
size
);
return
Eigen
::
internal
::
aligned_malloc
(
size
);
}
}
...
@@ -18,7 +24,7 @@ void qFree(void *ptr)
...
@@ -18,7 +24,7 @@ void qFree(void *ptr)
Eigen
::
internal
::
aligned_free
(
ptr
);
Eigen
::
internal
::
aligned_free
(
ptr
);
}
}
void
*
qRealloc
(
void
*
ptr
,
size_t
size
)
void
*
qRealloc
(
void
*
ptr
,
std
::
size_t
size
)
{
{
void
*
newPtr
=
Eigen
::
internal
::
aligned_malloc
(
size
);
void
*
newPtr
=
Eigen
::
internal
::
aligned_malloc
(
size
);
memcpy
(
newPtr
,
ptr
,
size
);
memcpy
(
newPtr
,
ptr
,
size
);
...
...
external/eigen3/Eigen/SPQRSupport
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPQRSUPPORT_MODULE_H
#ifndef EIGEN_SPQRSUPPORT_MODULE_H
#define EIGEN_SPQRSUPPORT_MODULE_H
#define EIGEN_SPQRSUPPORT_MODULE_H
...
@@ -21,8 +28,6 @@
...
@@ -21,8 +28,6 @@
*
*
*/
*/
#include "src/misc/Solve.h"
#include "src/misc/SparseSolve.h"
#include "src/CholmodSupport/CholmodSupport.h"
#include "src/CholmodSupport/CholmodSupport.h"
#include "src/SPQRSupport/SuiteSparseQRSupport.h"
#include "src/SPQRSupport/SuiteSparseQRSupport.h"
...
...
external/eigen3/Eigen/SVD
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SVD_MODULE_H
#ifndef EIGEN_SVD_MODULE_H
#define EIGEN_SVD_MODULE_H
#define EIGEN_SVD_MODULE_H
...
@@ -12,23 +19,26 @@
...
@@ -12,23 +19,26 @@
*
*
*
*
* This module provides SVD decomposition for matrices (both real and complex).
* This module provides SVD decomposition for matrices (both real and complex).
* This decomposition is accessible via the following MatrixBase method:
* Two decomposition algorithms are provided:
* - JacobiSVD implementing two-sided Jacobi iterations is numerically very accurate, fast for small matrices, but very slow for larger ones.
* - BDCSVD implementing a recursive divide & conquer strategy on top of an upper-bidiagonalization which remains fast for large problems.
* These decompositions are accessible via the respective classes and following MatrixBase methods:
* - MatrixBase::jacobiSvd()
* - MatrixBase::jacobiSvd()
* - MatrixBase::bdcSvd()
*
*
* \code
* \code
* #include <Eigen/SVD>
* #include <Eigen/SVD>
* \endcode
* \endcode
*/
*/
#include
"src/misc/Solve.h"
#include
"src/misc/RealSvd2x2.h"
#include
"src/SVD/UpperBidiagonalization.h"
#include
"src/SVD/SVDBase.h"
#include
"src/SVD/JacobiSVD.h"
#include
"src/SVD/JacobiSVD.h"
#include
"src/SVD/BDCSVD.h"
#if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT)
#if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT)
#include
"src/SVD/JacobiSVD_MKL.h"
#include
"src/misc/lapacke.h"
#endif
#include
"src/SVD/JacobiSVD_LAPACKE.h"
#include
"src/SVD/UpperBidiagonalization.h"
#ifdef EIGEN2_SUPPORT
#include
"src/Eigen2Support/SVD.h"
#endif
#endif
#include
"src/Core/util/ReenableStupidWarnings.h"
#include
"src/Core/util/ReenableStupidWarnings.h"
...
...
external/eigen3/Eigen/Sparse
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSE_MODULE_H
#ifndef EIGEN_SPARSE_MODULE_H
#define EIGEN_SPARSE_MODULE_H
#define EIGEN_SPARSE_MODULE_H
...
@@ -11,14 +18,16 @@
...
@@ -11,14 +18,16 @@
* - \ref SparseQR_Module
* - \ref SparseQR_Module
* - \ref IterativeLinearSolvers_Module
* - \ref IterativeLinearSolvers_Module
*
*
*
\code
\code
*
#include <Eigen/Sparse>
#include <Eigen/Sparse>
*
\endcode
\endcode
*/
*/
#include "SparseCore"
#include "SparseCore"
#include "OrderingMethods"
#include "OrderingMethods"
#ifndef EIGEN_MPL2_ONLY
#include "SparseCholesky"
#include "SparseCholesky"
#endif
#include "SparseLU"
#include "SparseLU"
#include "SparseQR"
#include "SparseQR"
#include "IterativeLinearSolvers"
#include "IterativeLinearSolvers"
...
...
external/eigen3/Eigen/SparseCholesky
View file @
a394b22a
...
@@ -34,8 +34,6 @@
...
@@ -34,8 +34,6 @@
#error The SparseCholesky module has nothing to offer in MPL2 only mode
#error The SparseCholesky module has nothing to offer in MPL2 only mode
#endif
#endif
#include "src/misc/Solve.h"
#include "src/misc/SparseSolve.h"
#include "src/SparseCholesky/SimplicialCholesky.h"
#include "src/SparseCholesky/SimplicialCholesky.h"
#ifndef EIGEN_MPL2_ONLY
#ifndef EIGEN_MPL2_ONLY
...
...
external/eigen3/Eigen/SparseCore
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSECORE_MODULE_H
#ifndef EIGEN_SPARSECORE_MODULE_H
#define EIGEN_SPARSECORE_MODULE_H
#define EIGEN_SPARSECORE_MODULE_H
...
@@ -26,37 +33,35 @@
...
@@ -26,37 +33,35 @@
* This module depends on: Core.
* This module depends on: Core.
*/
*/
namespace Eigen {
/** The type used to identify a general sparse storage. */
struct Sparse {};
}
#include "src/SparseCore/SparseUtil.h"
#include "src/SparseCore/SparseUtil.h"
#include "src/SparseCore/SparseMatrixBase.h"
#include "src/SparseCore/SparseMatrixBase.h"
#include "src/SparseCore/SparseAssign.h"
#include "src/SparseCore/CompressedStorage.h"
#include "src/SparseCore/CompressedStorage.h"
#include "src/SparseCore/AmbiVector.h"
#include "src/SparseCore/AmbiVector.h"
#include "src/SparseCore/SparseCompressedBase.h"
#include "src/SparseCore/SparseMatrix.h"
#include "src/SparseCore/SparseMatrix.h"
#include "src/SparseCore/SparseMap.h"
#include "src/SparseCore/MappedSparseMatrix.h"
#include "src/SparseCore/MappedSparseMatrix.h"
#include "src/SparseCore/SparseVector.h"
#include "src/SparseCore/SparseVector.h"
#include "src/SparseCore/SparseBlock.h"
#include "src/SparseCore/SparseRef.h"
#include "src/SparseCore/SparseTranspose.h"
#include "src/SparseCore/SparseCwiseUnaryOp.h"
#include "src/SparseCore/SparseCwiseUnaryOp.h"
#include "src/SparseCore/SparseCwiseBinaryOp.h"
#include "src/SparseCore/SparseCwiseBinaryOp.h"
#include "src/SparseCore/SparseTranspose.h"
#include "src/SparseCore/SparseBlock.h"
#include "src/SparseCore/SparseDot.h"
#include "src/SparseCore/SparseDot.h"
#include "src/SparseCore/SparsePermutation.h"
#include "src/SparseCore/SparseRedux.h"
#include "src/SparseCore/SparseRedux.h"
#include "src/SparseCore/SparseFuzzy.h"
#include "src/SparseCore/SparseView.h"
#include "src/SparseCore/SparseDiagonalProduct.h"
#include "src/SparseCore/ConservativeSparseSparseProduct.h"
#include "src/SparseCore/ConservativeSparseSparseProduct.h"
#include "src/SparseCore/SparseSparseProductWithPruning.h"
#include "src/SparseCore/SparseSparseProductWithPruning.h"
#include "src/SparseCore/SparseProduct.h"
#include "src/SparseCore/SparseProduct.h"
#include "src/SparseCore/SparseDenseProduct.h"
#include "src/SparseCore/SparseDenseProduct.h"
#include "src/SparseCore/SparseDiagonalProduct.h"
#include "src/SparseCore/SparseTriangularView.h"
#include "src/SparseCore/SparseSelfAdjointView.h"
#include "src/SparseCore/SparseSelfAdjointView.h"
#include "src/SparseCore/SparseTriangularView.h"
#include "src/SparseCore/TriangularSolver.h"
#include "src/SparseCore/TriangularSolver.h"
#include "src/SparseCore/SparseView.h"
#include "src/SparseCore/SparsePermutation.h"
#include "src/SparseCore/SparseFuzzy.h"
#include "src/SparseCore/SparseSolverBase.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#include "src/Core/util/ReenableStupidWarnings.h"
...
...
external/eigen3/Eigen/SparseLU
View file @
a394b22a
...
@@ -20,9 +20,6 @@
...
@@ -20,9 +20,6 @@
* Please, see the documentation of the SparseLU class for more details.
* Please, see the documentation of the SparseLU class for more details.
*/
*/
#include "src/misc/Solve.h"
#include "src/misc/SparseSolve.h"
// Ordering interface
// Ordering interface
#include "OrderingMethods"
#include "OrderingMethods"
...
...
external/eigen3/Eigen/SparseQR
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SPARSEQR_MODULE_H
#ifndef EIGEN_SPARSEQR_MODULE_H
#define EIGEN_SPARSEQR_MODULE_H
#define EIGEN_SPARSEQR_MODULE_H
...
@@ -21,9 +28,6 @@
...
@@ -21,9 +28,6 @@
*
*
*/
*/
#include "src/misc/Solve.h"
#include "src/misc/SparseSolve.h"
#include "OrderingMethods"
#include "OrderingMethods"
#include "src/SparseCore/SparseColEtree.h"
#include "src/SparseCore/SparseColEtree.h"
#include "src/SparseQR/SparseQR.h"
#include "src/SparseQR/SparseQR.h"
...
...
external/eigen3/Eigen/StdDeque
View file @
a394b22a
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
#include "Core"
#include "Core"
#include <deque>
#include <deque>
#if
(defined(_MSC_VER) && defined(_WIN64)
) /* MSVC auto aligns in 64 bit builds */
#if
EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16
) /* MSVC auto aligns
up to 16 bytes
in 64 bit builds */
#define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...)
#define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...)
...
...
external/eigen3/Eigen/StdList
View file @
a394b22a
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
#include "Core"
#include "Core"
#include <list>
#include <list>
#if
(defined(_MSC_VER) && defined(_WIN64)
) /* MSVC auto aligns in 64 bit builds */
#if
EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16
) /* MSVC auto aligns
up to 16 bytes
in 64 bit builds */
#define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...)
#define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...)
...
...
external/eigen3/Eigen/StdVector
View file @
a394b22a
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
#include "Core"
#include "Core"
#include <vector>
#include <vector>
#if
(defined(_MSC_VER) && defined(_WIN64)
) /* MSVC auto aligns in 64 bit builds */
#if
EIGEN_COMP_MSVC && EIGEN_OS_WIN64 && (EIGEN_MAX_STATIC_ALIGN_BYTES<=16
) /* MSVC auto aligns
up to 16 bytes
in 64 bit builds */
#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...)
#define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...)
...
...
external/eigen3/Eigen/SuperLUSupport
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_SUPERLUSUPPORT_MODULE_H
#ifndef EIGEN_SUPERLUSUPPORT_MODULE_H
#define EIGEN_SUPERLUSUPPORT_MODULE_H
#define EIGEN_SUPERLUSUPPORT_MODULE_H
...
@@ -36,6 +43,8 @@ namespace Eigen { struct SluMatrix; }
...
@@ -36,6 +43,8 @@ namespace Eigen { struct SluMatrix; }
* - class SuperLU: a supernodal sequential LU factorization.
* - class SuperLU: a supernodal sequential LU factorization.
* - class SuperILU: a supernodal sequential incomplete LU factorization (to be used as a preconditioner for iterative methods).
* - class SuperILU: a supernodal sequential incomplete LU factorization (to be used as a preconditioner for iterative methods).
*
*
* \warning This wrapper requires at least versions 4.0 of SuperLU. The 3.x versions are not supported.
*
* \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting.
* \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting.
*
*
* \code
* \code
...
@@ -48,12 +57,8 @@ namespace Eigen { struct SluMatrix; }
...
@@ -48,12 +57,8 @@ namespace Eigen { struct SluMatrix; }
*
*
*/
*/
#include "src/misc/Solve.h"
#include "src/misc/SparseSolve.h"
#include "src/SuperLUSupport/SuperLUSupport.h"
#include "src/SuperLUSupport/SuperLUSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_SUPERLUSUPPORT_MODULE_H
#endif // EIGEN_SUPERLUSUPPORT_MODULE_H
external/eigen3/Eigen/UmfPackSupport
View file @
a394b22a
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_UMFPACKSUPPORT_MODULE_H
#ifndef EIGEN_UMFPACKSUPPORT_MODULE_H
#define EIGEN_UMFPACKSUPPORT_MODULE_H
#define EIGEN_UMFPACKSUPPORT_MODULE_H
...
@@ -26,9 +33,6 @@ extern "C" {
...
@@ -26,9 +33,6 @@ extern "C" {
*
*
*/
*/
#include "src/misc/Solve.h"
#include "src/misc/SparseSolve.h"
#include "src/UmfPackSupport/UmfPackSupport.h"
#include "src/UmfPackSupport/UmfPackSupport.h"
#include "src/Core/util/ReenableStupidWarnings.h"
#include "src/Core/util/ReenableStupidWarnings.h"
...
...
external/eigen3/Eigen/src/CMakeLists.txt
deleted
100644 → 0
View file @
aa523d16
file
(
GLOB Eigen_src_subdirectories
"*"
)
escape_string_as_regex
(
ESCAPED_CMAKE_CURRENT_SOURCE_DIR
"
${
CMAKE_CURRENT_SOURCE_DIR
}
"
)
foreach
(
f
${
Eigen_src_subdirectories
}
)
if
(
NOT f MATCHES
"
\\
.txt"
AND NOT f MATCHES
"
${
ESCAPED_CMAKE_CURRENT_SOURCE_DIR
}
/[.].+"
)
add_subdirectory
(
${
f
}
)
endif
()
endforeach
()
external/eigen3/Eigen/src/Cholesky/CMakeLists.txt
deleted
100644 → 0
View file @
aa523d16
FILE
(
GLOB Eigen_Cholesky_SRCS
"*.h"
)
INSTALL
(
FILES
${
Eigen_Cholesky_SRCS
}
DESTINATION
${
INCLUDE_INSTALL_DIR
}
/Eigen/src/Cholesky COMPONENT Devel
)
external/eigen3/Eigen/src/Cholesky/LDLT.h
View file @
a394b22a
This diff is collapsed.
Click to expand it.
external/eigen3/Eigen/src/Cholesky/LLT.h
View file @
a394b22a
This diff is collapsed.
Click to expand it.
external/eigen3/Eigen/src/Cholesky/LLT_
MKL
.h
→
external/eigen3/Eigen/src/Cholesky/LLT_
LAPACKE
.h
View file @
a394b22a
...
@@ -25,41 +25,38 @@
...
@@ -25,41 +25,38 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
********************************************************************************
********************************************************************************
* Content : Eigen bindings to
Intel(R) MKL
* Content : Eigen bindings to
LAPACKe
* LLt decomposition based on LAPACKE_?potrf function.
* LLt decomposition based on LAPACKE_?potrf function.
********************************************************************************
********************************************************************************
*/
*/
#ifndef EIGEN_LLT_MKL_H
#ifndef EIGEN_LLT_LAPACKE_H
#define EIGEN_LLT_MKL_H
#define EIGEN_LLT_LAPACKE_H
#include
"Eigen/src/Core/util/MKL_support.h"
#include
<iostream>
namespace
Eigen
{
namespace
Eigen
{
namespace
internal
{
namespace
internal
{
template
<
typename
Scalar
>
struct
mkl
_llt
;
template
<
typename
Scalar
>
struct
lapacke
_llt
;
#define EIGEN_
MKL
_LLT(EIGTYPE,
MKL
TYPE,
MKL
PREFIX) \
#define EIGEN_
LAPACKE
_LLT(EIGTYPE,
BLAS
TYPE,
LAPACKE_
PREFIX) \
template<> struct
mkl
_llt<EIGTYPE> \
template<> struct
lapacke
_llt<EIGTYPE> \
{ \
{ \
template<typename MatrixType> \
template<typename MatrixType> \
static inline
typename MatrixType::
Index potrf(MatrixType& m, char uplo) \
static inline Index potrf(MatrixType& m, char uplo) \
{ \
{ \
lapack_int matrix_order; \
lapack_int matrix_order; \
lapack_int size, lda, info, StorageOrder; \
lapack_int size, lda, info, StorageOrder; \
EIGTYPE* a; \
EIGTYPE* a; \
eigen_assert(m.rows()==m.cols()); \
eigen_assert(m.rows()==m.cols()); \
/* Set up parameters for ?potrf */
\
/* Set up parameters for ?potrf */
\
size = m.rows(); \
size =
convert_index<lapack_int>(
m.rows()
)
; \
StorageOrder = MatrixType::Flags&RowMajorBit?RowMajor:ColMajor; \
StorageOrder = MatrixType::Flags&RowMajorBit?RowMajor:ColMajor; \
matrix_order = StorageOrder==RowMajor ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \
matrix_order = StorageOrder==RowMajor ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \
a = &(m.coeffRef(0,0)); \
a = &(m.coeffRef(0,0)); \
lda = m.outerStride(); \
lda =
convert_index<lapack_int>(
m.outerStride()
)
; \
\
\
info = LAPACKE_##
MKL
PREFIX##potrf( matrix_order, uplo, size, (
MKL
TYPE*)a, lda ); \
info = LAPACKE_##
LAPACKE_
PREFIX##potrf( matrix_order, uplo, size, (
BLAS
TYPE*)a, lda ); \
info = (info==0) ? -1 : info>0 ? info-1 : size; \
info = (info==0) ? -1 : info>0 ? info-1 : size; \
return info; \
return info; \
} \
} \
...
@@ -67,36 +64,36 @@ template<> struct mkl_llt<EIGTYPE> \
...
@@ -67,36 +64,36 @@ template<> struct mkl_llt<EIGTYPE> \
template<> struct llt_inplace<EIGTYPE, Lower> \
template<> struct llt_inplace<EIGTYPE, Lower> \
{ \
{ \
template<typename MatrixType> \
template<typename MatrixType> \
static
typename MatrixType::
Index blocked(MatrixType& m) \
static Index blocked(MatrixType& m) \
{ \
{ \
return
mkl
_llt<EIGTYPE>::potrf(m, 'L'); \
return
lapacke
_llt<EIGTYPE>::potrf(m, 'L'); \
} \
} \
template<typename MatrixType, typename VectorType> \
template<typename MatrixType, typename VectorType> \
static
typename MatrixType::
Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \
static Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \
{ return Eigen::internal::llt_rank_update_lower(mat, vec, sigma); } \
{ return Eigen::internal::llt_rank_update_lower(mat, vec, sigma); } \
}; \
}; \
template<> struct llt_inplace<EIGTYPE, Upper> \
template<> struct llt_inplace<EIGTYPE, Upper> \
{ \
{ \
template<typename MatrixType> \
template<typename MatrixType> \
static
typename MatrixType::
Index blocked(MatrixType& m) \
static Index blocked(MatrixType& m) \
{ \
{ \
return
mkl
_llt<EIGTYPE>::potrf(m, 'U'); \
return
lapacke
_llt<EIGTYPE>::potrf(m, 'U'); \
} \
} \
template<typename MatrixType, typename VectorType> \
template<typename MatrixType, typename VectorType> \
static
typename MatrixType::
Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \
static Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \
{ \
{ \
Transpose<MatrixType> matt(mat); \
Transpose<MatrixType> matt(mat); \
return llt_inplace<EIGTYPE, Lower>::rankUpdate(matt, vec.conjugate(), sigma); \
return llt_inplace<EIGTYPE, Lower>::rankUpdate(matt, vec.conjugate(), sigma); \
} \
} \
};
};
EIGEN_
MKL
_LLT
(
double
,
double
,
d
)
EIGEN_
LAPACKE
_LLT
(
double
,
double
,
d
)
EIGEN_
MKL
_LLT
(
float
,
float
,
s
)
EIGEN_
LAPACKE
_LLT
(
float
,
float
,
s
)
EIGEN_
MKL
_LLT
(
dcomplex
,
MKL_Complex16
,
z
)
EIGEN_
LAPACKE
_LLT
(
dcomplex
,
lapack_complex_double
,
z
)
EIGEN_
MKL
_LLT
(
scomplex
,
MKL_Complex8
,
c
)
EIGEN_
LAPACKE
_LLT
(
scomplex
,
lapack_complex_float
,
c
)
}
// end namespace internal
}
// end namespace internal
}
// end namespace Eigen
}
// end namespace Eigen
#endif // EIGEN_LLT_
MKL
_H
#endif // EIGEN_LLT_
LAPACKE
_H
external/eigen3/Eigen/src/CholmodSupport/CMakeLists.txt
deleted
100644 → 0
View file @
aa523d16
FILE
(
GLOB Eigen_CholmodSupport_SRCS
"*.h"
)
INSTALL
(
FILES
${
Eigen_CholmodSupport_SRCS
}
DESTINATION
${
INCLUDE_INSTALL_DIR
}
/Eigen/src/CholmodSupport COMPONENT Devel
)
external/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h
View file @
a394b22a
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
6
7
…
50
Next