# Comment blocks of the eigen files compiled into this engine build, verbatim.
# Each block is quoted exactly from the named source (an asset A member, or a file of the hosted
# run's evidence) at the named lines; its sha256 is of the quoted bytes. "also in" names further
# locations whose block has the same text after whitespace normalisation. See METHOD.md.
# This is a notice inventory, not legal advice.

==== sources/eigen/Eigen/Cholesky lines 1-6 sha256 0d10ac3cd20029ac3c7334e3be6cda79c2e64b9c764da432097936bfd4d58acd ====
also in: sources/eigen/Eigen/Eigenvalues:1-6, sources/eigen/Eigen/Geometry:1-6, sources/eigen/Eigen/Householder:1-6, sources/eigen/Eigen/IterativeLinearSolvers:1-6, sources/eigen/Eigen/Jacobi:1-6, sources/eigen/Eigen/LU:1-6, sources/eigen/Eigen/OrderingMethods:1-6, sources/eigen/Eigen/QR:1-6, sources/eigen/Eigen/SVD:1-6, sources/eigen/Eigen/Sparse:1-6, sources/eigen/Eigen/SparseCore:1-6, sources/eigen/Eigen/SparseQR:1-6, sources/eigen/Eigen/src/Core/arch/NEON/MathFunctions.h:1-6, sources/eigen/Eigen/src/Core/arch/NEON/UnaryFunctors.h:1-6
// 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/.

==== sources/eigen/Eigen/Core lines 1-9 sha256 da5bd68aadcfe85568ea235c8ff04bb7227143adc6e14c0b86ff0cc1a0190fd8 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2011 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/SparseCholesky lines 1-8 sha256 076f502ccab96c8bb912d24062d73a1c351d9b31c591e9ef2043e27737a7121c ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2013 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/SparseLU lines 1-9 sha256 608cd6a773470bb0a364e4f70b6de89393d0ea4d6848428187d10cca8cea43ce ====
also in: sources/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h:1-9, sources/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h:1-9, sources/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h:1-9, sources/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/StdVector lines 1-9 sha256 46bc3852104fbef9e06cbffb87cd84d7c6439043b1012a24602682b04600e0a2 ====
also in: sources/eigen/Eigen/src/StlSupport/StdVector.h:1-9, sources/eigen/Eigen/src/StlSupport/details.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Hauke Heibel <hauke.heibel@googlemail.com>
//
// 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/.

==== sources/eigen/Eigen/ThreadPool lines 1-8 sha256 13809961fa11b30d4503720936ab3982777ebb6b8a73f06565ea2c9da815291d ====
also in: sources/eigen/Eigen/src/Core/arch/GPU/TypeCasting.h:1-8, sources/eigen/Eigen/src/ThreadPool/ThreadCancel.h:1-8, sources/eigen/Eigen/src/ThreadPool/ThreadLocal.h:1-8, sources/eigen/Eigen/src/ThreadPool/ThreadYield.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Cholesky/LDLT.h lines 1-11 sha256 d6c593a08bbb6e96b3afb2a39f78600b7030772f46afc44940d5e31754d1a6c3 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Keir Mierle <mierle@gmail.com>
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2011 Timothy E. Holy <tim.holy@gmail.com >
//
// 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/.

==== sources/eigen/Eigen/src/Cholesky/LLT.h lines 1-8 sha256 fc998b5af47a7cc3dea83dd975dd779b1ec1d522126ed03f68eae140bb8f7c0e ====
also in: sources/eigen/Eigen/src/Core/Random.h:1-8, sources/eigen/Eigen/src/Core/Visitor.h:1-8, sources/eigen/Eigen/src/Geometry/AlignedBox.h:1-8, sources/eigen/Eigen/src/Geometry/AngleAxis.h:1-8, sources/eigen/Eigen/src/Geometry/Rotation2D.h:1-8, sources/eigen/Eigen/src/Geometry/RotationBase.h:1-8, sources/eigen/Eigen/src/Geometry/Scaling.h:1-8, sources/eigen/Eigen/src/Geometry/Translation.h:1-8, sources/eigen/Eigen/src/SparseCore/AmbiVector.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseDot.h:1-8, sources/eigen/Eigen/src/SparseCore/TriangularSolver.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h lines 1-31 sha256 18780136b10e52f9148ead5b1554b82f59b07edd546157c6beb1b4e07c4585fd ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *     LLt decomposition based on LAPACKE_?potrf function.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/ArithmeticSequence.h lines 1-8 sha256 ca1f80f675fbf5d8e07a7ffbf5c62e7c294952dc22fb1015995eedad6456827c ====
also in: sources/eigen/Eigen/src/Core/IndexedView.h:1-8, sources/eigen/Eigen/src/Core/arch/Default/ConjHelper.h:2-9, sources/eigen/Eigen/src/Core/util/IndexedViewHelper.h:1-8, sources/eigen/Eigen/src/Core/util/IntegralConstant.h:1-8, sources/eigen/Eigen/src/Core/util/ReshapedHelper.h:1-8, sources/eigen/Eigen/src/Core/util/SymbolicIndex.h:1-8, sources/eigen/Eigen/src/plugins/IndexedViewMethods.inc:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2017 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Array.h lines 1-8 sha256 f800cb4b55e7b36b9601b3da74717dc149293eaad9c566aa36b573aea88532c8 ====
also in: sources/eigen/Eigen/src/Core/ArrayBase.h:1-8, sources/eigen/Eigen/src/Core/BandMatrix.h:1-8, sources/eigen/Eigen/src/Core/NoAlias.h:1-8, sources/eigen/Eigen/src/Core/SelfAdjointView.h:1-8, sources/eigen/Eigen/src/Core/StableNorm.h:1-8, sources/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix.h:1-8, sources/eigen/Eigen/src/Core/products/SelfadjointProduct.h:1-8, sources/eigen/Eigen/src/Core/products/SelfadjointRank2Update.h:1-8, sources/eigen/Eigen/src/Core/products/TriangularMatrixMatrix.h:1-8, sources/eigen/Eigen/src/Core/products/TriangularMatrixVector.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/ArrayWrapper.h lines 1-8 sha256 030a536920fecc60e569b7ab677887cf937a706eb928c535880199795b6f216d ====
also in: sources/eigen/Eigen/src/Core/CwiseUnaryView.h:1-8, sources/eigen/Eigen/src/Core/Replicate.h:1-8, sources/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h:1-8, sources/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h:1-8, sources/eigen/Eigen/src/Core/util/BlasUtil.h:1-8, sources/eigen/Eigen/src/Geometry/Homogeneous.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Assign.h lines 1-10 sha256 7f8935e00caed7845dbf1ee143e148b33e6a062738b11eac7c16b7f260f4d917 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007 Michael Olbrich <michael.olbrich@gmx.net>
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/AssignEvaluator.h lines 1-10 sha256 febb1658d95c681b74b38aae678fe61507e856997d3de7dbc2f18e6f92c27e72 ====
also in: sources/eigen/Eigen/src/Core/CoreEvaluators.h:1-10
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2011-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2011-2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Assign_MKL.h lines 1-32 sha256 389379a9e5642378ff9da1334bb8fc263240ff8e5706e5a8f0e7fe664d562728 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.
 Copyright (C) 2015 Gael Guennebaud <gael.guennebaud@inria.fr>

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to Intel(R) MKL
 *   MKL VML support for coefficient-wise unary Eigen expressions like a=b.sin()
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/Block.h lines 1-9 sha256 8722e3f16a9393a5a8b8c049afac5916fd576ada6b09d6ae8464555d3bdf5ee7 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/CommaInitializer.h lines 1-9 sha256 502a6cfd4dbeaf53ee18c547a1f1ebb812c64e87b4503a71a063634299944a11 ====
also in: sources/eigen/Eigen/src/Core/GenericPacketMath.h:1-9, sources/eigen/Eigen/src/Core/NestByValue.h:1-9, sources/eigen/Eigen/src/Core/Redux.h:1-9, sources/eigen/Eigen/src/Core/util/XprHelper.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/ConditionEstimator.h lines 1-8 sha256 f668490bd4866db07796fab9301c61e86afa6600c7256b111ccd4ca52317d47f ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Rasmus Munk Larsen (rmlarsen@google.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/CoreIterators.h lines 1-8 sha256 80cc71e7fbd0e6e180bf931f89fa314aa94441ceb7f56856df30e55cab8cfd71 ====
also in: sources/eigen/Eigen/src/SparseCore/CompressedStorage.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseAssign.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseBlock.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseFuzzy.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseMatrix.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseMatrixBase.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseRedux.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseUtil.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/CwiseBinaryOp.h lines 1-9 sha256 e324bfae8f32b6b5c875187393637e6465e8042a2ef71d7b4cf2375c0de7c916 ====
also in: sources/eigen/Eigen/src/Core/CwiseUnaryOp.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/CwiseNullaryOp.h lines 1-8 sha256 3b5320b983ce361aa83d4f7e98036b6b5db797e03bdc6a5ce9532e2edc8dcad3 ====
also in: sources/eigen/Eigen/src/Core/Select.h:1-8, sources/eigen/Eigen/src/Core/functors/AssignmentFunctors.h:1-8, sources/eigen/Eigen/src/Core/functors/BinaryFunctors.h:1-8, sources/eigen/Eigen/src/Core/functors/StlFunctors.h:1-8, sources/eigen/Eigen/src/Core/products/TriangularSolverVector.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/CwiseTernaryOp.h lines 1-10 sha256 d5740f3868f41af1a12996b4f2af33de0053c9c1ee668a18164c688b8028f68a ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2016 Eugene Brevdo <ebrevdo@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/DenseBase.h lines 1-9 sha256 42d692a4d58132232e203341e3f4ee0a77e479fc660d2abc23ed559efa7febef ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/DenseCoeffsBase.h lines 1-8 sha256 f923abcfb9fdce9614b109a1de6338233e415a8a729a5f615e9cf10fe7213bc8 ====
also in: sources/eigen/Eigen/src/Core/NumTraits.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/DenseStorage.h lines 1-10 sha256 f8dfd1784b9c6e6e8c44608291e944ce00243d7eac1f8da1c25fa643509a06d9 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2010-2013 Hauke Heibel <hauke.heibel@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/DeviceWrapper.h lines 1-8 sha256 0b7fb7010ba57806cecbd75700405b1b95a0372eaef9e8c09b12c9166da0ef8a ====
also in: sources/eigen/Eigen/src/ThreadPool/CoreThreadPoolDevice.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2023 Charlie Schlosser <cs.schlosser@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Diagonal.h lines 1-9 sha256 874a502f2a681905c7eaf1db13c3cd77737f2e26cec5a719307364e7d8aec796 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/DiagonalMatrix.h lines 1-9 sha256 3d44338f251c1d1bfb86c8d3425424835cdc6a01cc3407a6fb83841571db1179 ====
also in: sources/eigen/Eigen/src/Core/SkewSymmetricMatrix3.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/DiagonalProduct.h lines 1-9 sha256 e2435597a8778e2ae855d51530248d8d5d2dcf06e76480f830a8cc6fc07cdcfb ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Dot.h lines 1-8 sha256 af35373d770303e193432efe237f836a35e21781940c912893944f90345d7111 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008, 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/EigenBase.h lines 1-9 sha256 dbbee76f803c8459badb25676fc91495b2fa6acf6ea9f055a004571f64e29052 ====
also in: sources/eigen/Eigen/src/Jacobi/Jacobi.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Fill.h lines 1-8 sha256 02126dfb8aea15498040225d763132edfc9b94181853a0e5ff2ee2616524d447 ====
also in: sources/eigen/Eigen/src/Core/RandomImpl.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2024 Charles Schlosser <cs.schlosser@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/FindCoeff.h lines 1-8 sha256 999ef8fdc82f84ceb6fd0ba1335a4c9eda252884bc7a48dd7aabf2944abf7f78 ====
also in: sources/eigen/Eigen/src/Core/RealView.h:1-8, sources/eigen/Eigen/src/Core/arch/AVX/Reductions.h:1-8, sources/eigen/Eigen/src/Core/arch/AVX512/Reductions.h:1-8, sources/eigen/Eigen/src/Core/arch/SSE/Reductions.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2025 Charlie Schlosser <cs.schlosser@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Fuzzy.h lines 1-9 sha256 bfbfbeebd405a79c31d70193c92c17d0764fdf8fe63128a5c9365079da1ef673 ====
also in: sources/eigen/Eigen/src/Core/IO.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/GeneralProduct.h lines 1-9 sha256 64e708eb4b9803056504bb7677314968069b228194043b5854773d5195e97a42 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/GlobalFunctions.h lines 1-9 sha256 bd86e77ce92f0ab2cab80f33c4d9b4c7ba42ff4fa73c8471b7e62c8d64e1e7c0 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/InnerProduct.h lines 1-8 sha256 4dac186ee2352fc3a20a06296b9d6b5447200ae1136c4b501d5defa756a6a07d ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2024 Charlie Schlosser <cs.schlosser@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Inverse.h lines 1-8 sha256 5eeb03bbe872bd21724db782c138d9ee530db5caa2c8750530c63bcf751e7586 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014-2019 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Map.h lines 1-9 sha256 4de41c2e4ba8d891fdc6534cd748843ec7f86f529ba77d23317e999a40b6adaa ====
also in: sources/eigen/Eigen/src/Core/MapBase.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/MathFunctions.h lines 1-9 sha256 f093fc0187ddbb344d8d58217c9ef59f3e6434c76e1d1e5ca822bca42fac0f35 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
//
// 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/.

==== sources/eigen/Eigen/src/Core/MathFunctionsImpl.h lines 1-9 sha256 640bced587b180dbea7d39530ffae60425f11b53c71171764c844c401e8f9067 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Pedro Gonnet (pedro.gonnet@gmail.com)
// Copyright (C) 2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Matrix.h lines 1-9 sha256 71118f858461a65c5becc0c309f4f3d863244e6bd1e2c61e0eb6e31d22bccf41 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/MatrixBase.h lines 1-9 sha256 f5b51b2f6189338d5a0245a704b45b1a41b290e35d66b3b1724d1997e12e96e6 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/PartialReduxEvaluator.h lines 1-8 sha256 826336cb92f39b4ef00cb44d3df1bfd9310eb8763cb7cac31e390486bb508c0d ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011-2018 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/PermutationMatrix.h lines 1-9 sha256 b32f5729819a442a9698b16d0637d0efe3baafd7739f885da0aea32705a30e01 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/PlainObjectBase.h lines 1-9 sha256 d913149e4dcd7576517d5dbee26eeb42e7d5137bc8191a914666e785347dd68f ====
also in: sources/eigen/Eigen/src/Geometry/OrthoMethods.h:1-9, sources/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc:1-9, sources/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc:1-9, sources/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Product.h lines 1-8 sha256 06a24bf7260f7d1b82aeb1bba44eab9f40d531459e9182f5e0dd5a5bf0259be8 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/ProductEvaluators.h lines 1-10 sha256 3be3139d4b20a6ffca356495f2d47b96e7267f4a2e1a14d233985859fedfd9c4 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2011 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Ref.h lines 1-8 sha256 4e287aeb8bfa879724179cb64ef9f8d8b015dbb3d088700482a22476b716c344 ====
also in: sources/eigen/Eigen/src/SparseCore/SparsePermutation.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Reshaped.h lines 1-9 sha256 f116f29da34035602d5069d894b6c97c095e07dbc91d8ce3a413e0db613d6079 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2017 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2014 yoco <peter.xiau@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/ReturnByValue.h lines 1-9 sha256 0c450039c6b0cddd7dc158bac1d3eb185bdc820b7466bb2bf889baeb1314f291 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Reverse.h lines 1-10 sha256 6085c62d840568cc256c7a6652575653bfc5bac9d3498815697a0e18735b98c5 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Ricard Marxer <email@ricardmarxer.com>
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Solve.h lines 1-8 sha256 1553f40718c30a556a8f23726a42de7b438e359902318c36f8e94f1237ed302c ====
also in: sources/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseSolverBase.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/SolveTriangular.h lines 1-8 sha256 0c3a046ed7a046c57fb59b76a8a9b627796cb86fae082b3658599c40e9954272 ====
also in: sources/eigen/Eigen/src/Core/arch/SSE/PacketMath.h:1-8, sources/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h:1-8, sources/eigen/Eigen/src/Core/products/GeneralMatrixMatrix.h:1-8, sources/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/SolverBase.h lines 1-8 sha256 1f6f098bab62df59f25ec1ccee6cb42a2216b4a98533f99cf50e84dc08e9a284 ====
also in: sources/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseCompressedBase.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseMap.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseRef.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/StlIterators.h lines 1-8 sha256 4fd91050f3999a50e5512be99b865de372aada6da05d4b95392b0d5076e36f16 ====
also in: sources/eigen/Eigen/src/Core/arch/AVX512/Complex.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2018 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Stride.h lines 1-8 sha256 c2b9826e982c11434f843db9d73e13c7c815fd9287f8dfabf52921bea3585db8 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Swap.h lines 1-8 sha256 ee5a87a4dfd7971a5b619278ec74a7cff4456297ca6f9ea71f3a6c4d54a873ee ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Transpose.h lines 1-9 sha256 b9017dd849913eb3f50f6ede58865cf86bdf541b472a66955451e8dd94be1cc9 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/Transpositions.h lines 1-8 sha256 698351f4fb391020b0b6b4cf21a0edce63f1488a3d764989c7e62a9ccea11544 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010-2011 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/TriangularMatrix.h lines 1-9 sha256 98e0c2d020db2f16eb165cfa69b6f14f99a16a182125aa87da4ca02e50803119 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/VectorBlock.h lines 1-9 sha256 06915de783c35e514feee45164a08f47113ace24f6c472460321ddf6fc349b38 ====
also in: sources/eigen/Eigen/src/Core/arch/Default/Settings.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/VectorwiseOp.h lines 1-9 sha256 75d2eb57f2bf99a5fb07a189d34a294030a384e5dc03a9ea6e68c2ad7ddc4e8e ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2019 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX/Complex.h lines 1-8 sha256 b7e8277ce97fe1bd933c1d07684c041eec0e10db775365a54859e2720debf324 ====
also in: sources/eigen/Eigen/src/Core/arch/AVX/PacketMath.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner (benoit.steiner.goog@gmail.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX/MathFunctions.h lines 1-8 sha256 ae9f3bc6b302d8d727fc195f54fa20d9371092b19fcc69c2413be2caf4a8c4db ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Pedro Gonnet (pedro.gonnet@gmail.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX/TypeCasting.h lines 1-8 sha256 fb86fb2e29539b0859260003d69a25ae7b901d7aba97e7243541230e13286a65 ====
also in: sources/eigen/Eigen/src/Core/arch/SSE/TypeCasting.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2015 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX512/GemmKernel.h lines 1-8 sha256 2e3f4604696fc3255140a229f5c0037c0878e969e022892b370953215b3a60b7 ====
also in: sources/eigen/Eigen/src/Core/arch/AVX512/TrsmKernel.h:1-8, sources/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2022 Intel Corporation
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX512/MathFunctions.h lines 1-8 sha256 1716e56c79b8a1e642f9d187c5e0bba3252834e08ff7d95943047114465f1320 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Pedro Gonnet (pedro.gonnet@gmail.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX512/MathFunctionsFP16.h lines 1-8 sha256 140f1b89688670a1a8d42f2730abcff7d427fc29ca07331090bcfb5bd3de893b ====
also in: sources/eigen/Eigen/src/Core/arch/AVX512/PacketMathFP16.h:1-8, sources/eigen/Eigen/src/Core/arch/AVX512/TypeCastingFP16.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2025 The Eigen Authors.
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h lines 1-8 sha256 bb547b5d059f2262ea07b673f59b13329a156d520859164f3758a48ade992425 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Benoit Steiner (benoit.steiner.goog@gmail.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AVX512/TypeCasting.h lines 1-8 sha256 c7f87fe34c8dccc1e55f3654eaa4ae9a36e2a0e739ef79aee6096bf2af85b39c ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2019 Rasmus Munk Larsen <rmlarsen@google.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AltiVec/Complex.h lines 1-9 sha256 e1e6694d53e6789063245baa2549a4ef729825dd2c8dd10a6daffbe4c4f36dd7 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010-2016 Konstantinos Margaritis <markos@freevec.org>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h lines 1-10 sha256 88e85cead46d495915a6a692bf3bdb17738c2ce0c8078b202e4f651b2a19e65f ====
also in: sources/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h:1-10
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007 Julien Pommier
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2016 Konstantinos Margaritis <markos@freevec.org>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AltiVec/MatrixProduct.h lines 1-9 sha256 cc228d7b5c95501b4ca293debba3a379ae83b3a67dc696b33a3e5a9975382fcc ====
also in: sources/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2020 Everton Constantino (everton.constantino@ibm.com)
// Copyright (C) 2021 Chip Kerchner (chip.kerchner@ibm.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h lines 1-1 sha256 98045bfe3a29a0819741a332e1aae4a33a5eaad8c76d5225475bee68f250f6b1 ====
// #define EIGEN_POWER_USE_PREFETCH  // Use prefetching in gemm routines

==== sources/eigen/Eigen/src/Core/arch/AltiVec/MatrixVectorProduct.inc lines 1-8 sha256 dd018786eeb835255a06959523f7f287386580815ddf64cc8bea215a3f8a3118 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2021 Chip Kerchner (chip.kerchner@ibm.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h lines 1-8 sha256 5b33ea351f2f6fbfc00353a75de91fa7382beb6c5629bcda388324137518ba07 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2016 Konstantinos Margaritis <markos@freevec.org>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/AltiVec/TypeCasting.h lines 1-9 sha256 b106dd2f96e8f6344bdf0d3e552cf0d3e71d41f7ba5f1813ee8e4ff0a4ff80dc ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2019 Rasmus Munk Larsen <rmlarsen@google.com>
// Copyright (C) 2023 Chip Kerchner (chip.kerchner@ibm.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/Default/BFloat16.h lines 1-14 sha256 86b6a6e66de14b229ccee10a1e558d10caa3fde3bd12abd6d355c6a4dea738b0 ====
/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/

==== sources/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h lines 1-10 sha256 12a44db6a1f1cbb40a03a036e068a73278e5d6f44a7d690b5540e167608e2e53 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007 Julien Pommier
// Copyright (C) 2014 Pedro Gonnet (pedro.gonnet@gmail.com)
// Copyright (C) 2009-2019 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h lines 12-14 sha256 8c78e15ef300e8f5617185745b349baa17d95306346e562cabdb3f3addafcee3 ====
/* The exp and log functions of this file initially come from
 * Julien Pommier's sse math library: http://gruntthepeon.free.fr/ssemath/
 */

==== sources/eigen/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h lines 1-8 sha256 80cc2ee6d2ccd34594d54cae988eb8cb1a9f378291aa5d92570eb62b8c77fe11 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2019 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/Default/Half.h lines 1-25 sha256 e1dc5d70c0982d60ba42532ca170d81cdd4c3d9f1ae6799c13f2d788af54002a ====
// 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/.
//
// The conversion routines are Copyright (c) Fabian Giesen, 2016.
// The original license follows:
//
// Copyright (c) Fabian Giesen, 2016
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

==== sources/eigen/Eigen/src/Core/arch/Default/Half.h lines 27-32 sha256 0705ecc68f827cf66ce9aec395d5a6829172081f2f6eb34487af464e8cb560e6 ====
// Standard 16-bit float type, mostly useful for GPUs. Defines a new
// type Eigen::half (inheriting either from CUDA's or HIP's __half struct) with
// operator overloads such that it behaves basically as an arithmetic
// type. It will be quite slow on CPUs (so it is recommended to stay
// in fp32 for CPUs, except for simple parameter conversions, I/O
// to disk and the likes), but fast on GPUs.

==== sources/eigen/Eigen/src/Core/arch/Default/Settings.h lines 11-13 sha256 d3755eec8de3932e07ef740a27fb48681504fc9f07b96e39cf74d52af4bccd63 ====
/* All the parameters defined in this file can be specialized in the
 * architecture specific files, and/or by the user.
 * More to come... */

==== sources/eigen/Eigen/src/Core/arch/GPU/Complex.h lines 1-9 sha256 1eaf9331539893ac0cb5ccc71cec123688eaf8587170c81f985f3a1bbc1e1a31 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
// Copyright (C) 2021 C. Antonio Sanchez <cantonios@google.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/GPU/MathFunctions.h lines 1-8 sha256 eda1dbaa4c5106960bf57cd4557fc5fb016120094d7d221e306853e238dd1c53 ====
also in: sources/eigen/Eigen/src/Core/arch/GPU/PacketMath.h:1-8, sources/eigen/Eigen/src/Core/util/EmulateArray.h:1-8, sources/eigen/Eigen/src/Core/util/MaxSizeVector.h:1-8, sources/eigen/Eigen/src/ThreadPool/ThreadEnvironment.h:1-8, sources/eigen/Eigen/src/ThreadPool/ThreadPoolInterface.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/HIP/hcc/math_constants.h lines 1-4 sha256 c592fa4ee2c5549548b2620b61e9997fae0c46556e924921094b45eb73985d51 ====
/*
 * math_constants.h -
 *  HIP equivalent of the CUDA header of the same name
 */

==== sources/eigen/Eigen/src/Core/arch/LSX/Complex.h lines 1-9 sha256 89cb0ef1a51b75d0ba229c056556e811420854078eeec63d1db4c3db5a50fcfa ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// copyright (c) 2023 zang ruochen <zangruochen@loongson.cn>
// copyright (c) 2024 XiWei Gu <guxiwei-hf@loongson.cn>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/LSX/GeneralBlockPanelKernel.h lines 1-1 sha256 7555a32d0b2da9c9e2401c509c39c4211530380150e93e08b030766aba4f2417 ====
also in: sources/eigen/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h:1-1
// IWYU pragma: private

==== sources/eigen/Eigen/src/Core/arch/LSX/MathFunctions.h lines 1-8 sha256 fba806cbb4dde9cc1c6d1e3903a4535a0dc8ed7d0e4e9e678ac5129f7a46919c ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2024 XiWei Gu (guxiwei-hf@loongson.cn)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/LSX/PacketMath.h lines 1-9 sha256 31cc7230b35df486e35a6502241f5a02e76f83b1407855da727b47b473604188 ====
also in: sources/eigen/Eigen/src/Core/arch/LSX/TypeCasting.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2023 Zang Ruochen <zangruochen@loongson.cn>
// Copyright (C) 2024 XiWei Gu <guxiwei-hf@loongson.cn>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/MSA/Complex.h lines 1-11 sha256 78a05457ef380716fb8a28a212f12ba307ec02f627e02244ea01ee6a7dddda05 ====
also in: sources/eigen/Eigen/src/Core/arch/MSA/PacketMath.h:1-11
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2018 Wave Computing, Inc.
// Written by:
//   Chris Larsen
//   Alexey Frunze (afrunze@wavecomp.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h lines 1-15 sha256 ec52eaa8f5e7d05270cd57e5ae6bcd3ad3e4a3e5cb2b8db9f9a15c859826f85d ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007 Julien Pommier
// Copyright (C) 2014 Pedro Gonnet (pedro.gonnet@gmail.com)
// Copyright (C) 2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// Copyright (C) 2018 Wave Computing, Inc.
// Written by:
//   Chris Larsen
//   Alexey Frunze (afrunze@wavecomp.com)
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h lines 17-19 sha256 eae0b3ab62cd5af1c7818de265344d8a6550d3559b79a14e0ad0b00781d4389f ====
also in: sources/eigen/Eigen/src/Core/arch/ZVector/MathFunctions.h:12-14
/* The sin, cos, exp, and log functions of this file come from
 * Julien Pommier's sse math library: http://gruntthepeon.free.fr/ssemath/
 */

==== sources/eigen/Eigen/src/Core/arch/MSA/MathFunctions.h lines 21-24 sha256 fbc493a3d9b9a9c86cb4720abec579fe4e83ccdae6b2bfa5676c20f6edeb9d7e ====
/* The tanh function of this file is an adaptation of
 * template<typename T> T generic_fast_tanh_float(const T&)
 * from MathFunctionsImpl.h.
 */

==== sources/eigen/Eigen/src/Core/arch/NEON/Complex.h lines 1-9 sha256 a0d2ef2f07bd6b04bac5463c3e532e1a9922b88006380091d5fddc404eeaf0b6 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Konstantinos Margaritis <markos@freevec.org>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/NEON/PacketMath.h lines 1-10 sha256 81d4eaa8541e17755ce701008088bd95a278e36fe1f6691950aa2d318b65b237 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Konstantinos Margaritis <markos@freevec.org>
// Heavily based on Gael's SSE version.
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/NEON/TypeCasting.h lines 1-9 sha256 660c84e2d3f3acabb3a5da994bf11a5c028a5cfae025d86337ad32d5917988b7 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2018 Rasmus Munk Larsen <rmlarsen@google.com>
// Copyright (C) 2020 Antonio Sanchez <cantonios@google.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/SSE/Complex.h lines 1-8 sha256 382b9953e96427c869083d72f5a809975e5b10943594f2682173463831cf7beb ====
also in: sources/eigen/Eigen/src/Core/products/Parallelizer.h:1-8, sources/eigen/Eigen/src/OrderingMethods/Amd.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h lines 1-9 sha256 c8a0136953dab598d677fa9c55d83f1ffee68904be701742a2c4ce14aedc5c02 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007 Julien Pommier
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/SSE/MathFunctions.h lines 11-13 sha256 8709636c5561e2ee721a9da380406b2bf8b9fd561c3bf1a063c561c17ba0feb3 ====
/* The sin and cos and functions of this file come from
 * Julien Pommier's sse math library: http://gruntthepeon.free.fr/ssemath/
 */

==== sources/eigen/Eigen/src/Core/arch/SVE/MathFunctions.h lines 1-8 sha256 0ffaa9185f7fd8d610242413ee1e971b04a91fb62889dfe8b06a45666db94eeb ====
also in: sources/eigen/Eigen/src/Core/arch/SVE/PacketMath.h:1-8, sources/eigen/Eigen/src/Core/arch/SVE/TypeCasting.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2020, Arm Limited and Contributors
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h lines 1-11 sha256 c838c602c561af59945110146a2673d855617252290b51570de8d8bf43d1c492 ====
also in: sources/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h:1-11, sources/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h:1-11, sources/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h:1-11
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Mehdi Goli    Codeplay Software Ltd.
// Ralph Potter  Codeplay Software Ltd.
// Luke Iwanski  Codeplay Software Ltd.
// Contact: <eigen@codeplay.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/SYCL/InteropHeaders.h lines 13-19 sha256 c0871d26bc0f6ad3574fb0c3eaf4c48c244dad4127e2774b24067b2d2766435f ====
/*****************************************************************
 * InteropHeaders.h
 *
 * \brief:
 *  InteropHeaders
 *
 *****************************************************************/

==== sources/eigen/Eigen/src/Core/arch/SYCL/MathFunctions.h lines 13-19 sha256 4e6b45ae78b777595a59a1638eb7264e67efb8f1c2c8fc21604abb21e10f130c ====
/*****************************************************************
 * MathFunctions.h
 *
 * \brief:
 *  MathFunctions
 *
 *****************************************************************/

==== sources/eigen/Eigen/src/Core/arch/SYCL/PacketMath.h lines 13-19 sha256 e1e34bdb2fea18f51be906856d9fa7a4b8a1efbb030e472a31ad3e659b6c510f ====
/*****************************************************************
 * PacketMath.h
 *
 * \brief:
 *  PacketMath
 *
 *****************************************************************/

==== sources/eigen/Eigen/src/Core/arch/SYCL/TypeCasting.h lines 13-19 sha256 7bab1f188ddfae955120da37ee44d2be846dbcfeababefed14003d7faa639d3a ====
/*****************************************************************
 * TypeCasting.h
 *
 * \brief:
 *  TypeCasting
 *
 *****************************************************************/

==== sources/eigen/Eigen/src/Core/arch/ZVector/Complex.h lines 1-9 sha256 43c2b2f142cb082efcc125724be7b703e075cec889dd5ab7f48efe97ee8fb174 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2016 Konstantinos Margaritis <markos@freevec.org>
//
// 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/.

==== sources/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h lines 1-8 sha256 74b972b8d8deb711d7847d6c886c9d446d0801cfc4c0d809ae1079dd71c7d86f ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Konstantinos Margaritis <markos@freevec.org>
//
// 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/.

==== sources/eigen/Eigen/src/Core/functors/NullaryFunctors.h lines 1-8 sha256 04fe57627b659c6a261320092464731cb7fbafd0679f12a64a023e40404940ec ====
also in: sources/eigen/Eigen/src/Core/functors/UnaryFunctors.h:1-8, sources/eigen/Eigen/src/Core/products/GeneralMatrixVector.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/functors/TernaryFunctors.h lines 1-8 sha256 4f9d22fc8b4ec20b223dd7e0b152c72da0f287e452bdb3b50939e01077495fad ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Eugene Brevdo <ebrevdo@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h lines 1-31 sha256 49d88f6dc3e5e7e0b4635fe526ae05a94588eb1b8fcfbc289a22af4e36383da0 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to BLAS F77
 *   Level 3 BLAS SYRK/HERK implementation.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h lines 1-31 sha256 268e26e380578c241913e06a18c02a94709565d0c971d46c16f294442a46fd6e ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to BLAS F77
 *   General matrix-matrix product functionality based on ?GEMM.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h lines 1-31 sha256 d849e8a5039addbab9bdd741e8a989de1348d419014fdd7b26ce87110ca9ea67 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to BLAS F77
 *   General matrix-vector product functionality based on ?GEMV.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h lines 1-31 sha256 d597e8c8c0fd6e24bbb8a82b7b5739dcbb6d611d82d10c2ce877b2c7a369cf44 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
 ********************************************************************************
 *   Content : Eigen bindings to BLAS F77
 *   Self adjoint matrix * matrix product functionality based on ?SYMM/?HEMM.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h lines 1-31 sha256 c0cbeb5dd76fc0812aefa7aea00ab39e086e9419d44b5d06d0b6546716bab9a5 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to BLAS F77
 *   Selfadjoint matrix-vector product functionality based on ?SYMV/HEMV.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h lines 1-31 sha256 c32d71c6a496ed6aa1eff835c14350f971a7f76e50a651d93c47bdca76d1492b ====
also in: sources/eigen/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h:1-31
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to BLAS F77
 *   Triangular matrix * matrix product functionality based on ?TRMM.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h lines 1-31 sha256 7ae2b875e65f87b68d8489d957a8fe913e5770dedc04615a7d790bcd271df4b0 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to BLAS F77
 *   Triangular matrix-vector product functionality based on ?TRMV.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h lines 1-9 sha256 8f8f20a9c26815929c49f0889430f96ffe3203d040963262c3697dd6a00c5520 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Modifications Copyright (C) 2022 Intel Corporation
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/Assert.h lines 1-8 sha256 2be10cee9a551c546ff149f64b6581e59fa46cc570a53e8ddc420edf1faf27f9 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2022, The Eigen authors.
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/ConfigureVectorization.h lines 1-9 sha256 a726c08719e2595591a0dcc1ba90d7c9892804e8af86ab240427b5b8d67753e2 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2018 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2020, Arm Limited and Contributors
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/Constants.h lines 1-10 sha256 f1fb4c424e0245a245861dc84bc95d815821f40597e5241d8ea8d74e12cad585 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2007-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2020, Arm Limited and Contributors
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/ForwardDeclarations.h lines 1-9 sha256 673bac84962c98c0d90c1d9dba91882f5e81d8f411b22776a9b71b282201c9f4 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/MKL_support.h lines 1-31 sha256 40aabe13f720593a93f7b82638913f23d81355629f7982629dd3a6132ffab5b9 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to Intel(R) MKL
 *   Include file with common MKL declarations
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Core/util/Macros.h lines 1-9 sha256 895c29fc17f71ca2f4d9b28a75cb940181b0e504e74cdb6adf6868ceba29a1bc ====
also in: sources/eigen/Eigen/src/Core/util/Meta.h:1-9, sources/eigen/Eigen/src/Core/util/MoreMeta.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/Memory.h lines 1-13 sha256 48c5b67ebc939ed58dd00d07e63f21252baa03d638996983e47de6b8a1637461 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2008-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Kenneth Riddile <kfriddile@yahoo.com>
// Copyright (C) 2010 Hauke Heibel <hauke.heibel@gmail.com>
// Copyright (C) 2010 Thomas Capricelli <orzel@freehackers.org>
// Copyright (C) 2013 Pavel Holoborodko <pavel@holoborodko.com>
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/Memory.h lines 15-17 sha256 5163fb575eca67b49abe3ffbc82c2bafb2ea0a888946738ade452cf78864dd2c ====
/*****************************************************************************
*** Platform checks for aligned malloc functions                           ***
*****************************************************************************/

==== sources/eigen/Eigen/src/Core/util/Serializer.h lines 1-8 sha256 80965463edc7ea6d1765ec71c86733addbcfad9e850049e9ca66c1e85d807299 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2021 The Eigen Team
//
// 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/.

==== sources/eigen/Eigen/src/Core/util/StaticAssert.h lines 1-9 sha256 4d6f97755ef8ec29bf3e13dd529fcf9751380286f81c5e53078f6a6a69852f4f ====
also in: sources/eigen/Eigen/src/Geometry/Hyperplane.h:1-9, sources/eigen/Eigen/src/Geometry/ParametrizedLine.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h lines 1-10 sha256 eb82ad1e65ad9ad662224fc473307d90220a3dda66b2c55c2ff964834b4a5fc3 ====
also in: sources/eigen/Eigen/src/Eigenvalues/ComplexSchur.h:1-10
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Claire Maurice
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h lines 1-31 sha256 1f2cc555538b00d40710f82fadf5130fa7999d957ae78e9e10381d95e342329f ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *    Complex Schur needed to complex unsymmetrical eigenvalues/eigenvectors.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Eigenvalues/EigenSolver.h lines 1-9 sha256 fab7a6ed66b1db0e14ab64e65efe81c94b13fc8ba18aa9851579bd056427d673 ====
also in: sources/eigen/Eigen/src/Eigenvalues/RealSchur.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/EigenSolver.h lines 21-66 sha256 76255b9756ded71281b1d5dfd05298b6b2b750e71be1eac9eecc5e34d3cbdc93 ====
/** \eigenvalues_module \ingroup Eigenvalues_Module
 *
 *
 * \class EigenSolver
 *
 * \brief Computes eigenvalues and eigenvectors of general matrices
 *
 * \tparam MatrixType_ the type of the matrix of which we are computing the
 * eigendecomposition; this is expected to be an instantiation of the Matrix
 * class template. Currently, only real matrices are supported.
 *
 * The eigenvalues and eigenvectors of a matrix \f$ A \f$ are scalars
 * \f$ \lambda \f$ and vectors \f$ v \f$ such that \f$ Av = \lambda v \f$.  If
 * \f$ D \f$ is a diagonal matrix with the eigenvalues on the diagonal, and
 * \f$ V \f$ is a matrix with the eigenvectors as its columns, then \f$ A V =
 * V D \f$. The matrix \f$ V \f$ is almost always invertible, in which case we
 * have \f$ A = V D V^{-1} \f$. This is called the eigendecomposition.
 *
 * The eigenvalues and eigenvectors of a matrix may be complex, even when the
 * matrix is real. However, we can choose real matrices \f$ V \f$ and \f$ D
 * \f$ satisfying \f$ A V = V D \f$, just like the eigendecomposition, if the
 * matrix \f$ D \f$ is not required to be diagonal, but if it is allowed to
 * have blocks of the form
 * \f[ \begin{bmatrix} u & v \\ -v & u \end{bmatrix} \f]
 * (where \f$ u \f$ and \f$ v \f$ are real numbers) on the diagonal.  These
 * blocks correspond to complex eigenvalue pairs \f$ u \pm iv \f$. We call
 * this variant of the eigendecomposition the pseudo-eigendecomposition.
 *
 * Call the function compute() to compute the eigenvalues and eigenvectors of
 * a given matrix. Alternatively, you can use the
 * EigenSolver(const MatrixType&, bool) constructor which computes the
 * eigenvalues and eigenvectors at construction time. Once the eigenvalue and
 * eigenvectors are computed, they can be retrieved with the eigenvalues() and
 * eigenvectors() functions. The pseudoEigenvalueMatrix() and
 * pseudoEigenvectors() methods allow the construction of the
 * pseudo-eigendecomposition.
 *
 * The documentation for EigenSolver(const MatrixType&, bool) contains an
 * example of the typical use of this class.
 *
 * \note The implementation is adapted from
 * <a href="http://math.nist.gov/javanumerics/jama/">JAMA</a> (public domain).
 * Their code is based on EISPACK.
 *
 * \sa MatrixBase::eigenvalues(), class ComplexEigenSolver, class SelfAdjointEigenSolver
 */

==== sources/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h lines 1-10 sha256 4a1e3a125685a87a6876d148e97b5a9c6736ca07bfc4646e1b6327aad8c45abd ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010,2012 Jitse Niesen <jitse@maths.leeds.ac.uk>
// Copyright (C) 2016 Tobias Wood <tobias@spinicist.org.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h lines 1-9 sha256 8f368063199626e0edf1ffbd95d89c10e2141112b5f82d2cc4cb5172b8ba6873 ====
also in: sources/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h lines 1-9 sha256 a7a0fdd1a0cbdaee25dc90128e26ff83f76a4065b25e51c935dc6dd028928502 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h lines 1-9 sha256 c37d7be21e9d759f6e07643a0bad33efd31a3ab5e50a423f51447392dfa68cc6 ====
also in: sources/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Jitse Niesen <jitse@maths.leeds.ac.uk>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/RealQZ.h lines 1-8 sha256 095349b8965774670115415087bb1010d24f1412b8a25df34d74995b3a969ed9 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Alexey Korepanov <kaikaikai@yandex.ru>
//
// 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/.

==== sources/eigen/Eigen/src/Eigenvalues/RealSchur.h lines 21-56 sha256 95d54c53f265df5f396130463c8afc21a7a8e6567d78c1513f5b61ae59ad5eda ====
/** \eigenvalues_module \ingroup Eigenvalues_Module
 *
 *
 * \class RealSchur
 *
 * \brief Performs a real Schur decomposition of a square matrix
 *
 * \tparam MatrixType_ the type of the matrix of which we are computing the
 * real Schur decomposition; this is expected to be an instantiation of the
 * Matrix class template.
 *
 * Given a real square matrix A, this class computes the real Schur
 * decomposition: \f$ A = U T U^T \f$ where U is a real orthogonal matrix and
 * T is a real quasi-triangular matrix. An orthogonal matrix is a matrix whose
 * inverse is equal to its transpose, \f$ U^{-1} = U^T \f$. A quasi-triangular
 * matrix is a block-triangular matrix whose diagonal consists of 1-by-1
 * blocks and 2-by-2 blocks with complex eigenvalues. The eigenvalues of the
 * blocks on the diagonal of T are the same as the eigenvalues of the matrix
 * A, and thus the real Schur decomposition is used in EigenSolver to compute
 * the eigendecomposition of a matrix.
 *
 * Call the function compute() to compute the real Schur decomposition of a
 * given matrix. Alternatively, you can use the RealSchur(const MatrixType&, bool)
 * constructor which computes the real Schur decomposition at construction
 * time. Once the decomposition is computed, you can use the matrixU() and
 * matrixT() functions to retrieve the matrices U and T in the decomposition.
 *
 * The documentation of RealSchur(const MatrixType&, bool) contains an example
 * of the typical use of this class.
 *
 * \note The implementation is adapted from
 * <a href="http://math.nist.gov/javanumerics/jama/">JAMA</a> (public domain).
 * Their code is based on EISPACK.
 *
 * \sa class ComplexSchur, class EigenSolver, class ComplexEigenSolver
 */

==== sources/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h lines 1-31 sha256 338d6c0d6f0943814b6af98d3c1c94b0c5d7f01894ddc4389e657981c651be80 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *    Real Schur needed to real unsymmetrical eigenvalues/eigenvectors.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h lines 1-31 sha256 2d69bb2256cf23954025d8a7c90300f97ae2c179cc49ccf521174fafb04ccf0a ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *    Self-adjoint eigenvalues/eigenvectors.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/Geometry/AlignedBox.h lines 10-44 sha256 47eb378b0b6a16e7d241aa6e49c55eb9ed19bb9791f4d041f6a89dff377b96d8 ====
// Function void Eigen::AlignedBox::transform(const Transform& transform)
// is provided under the following license agreement:
//
// Software License Agreement (BSD License)
//
// Copyright (c) 2011-2014, Willow Garage, Inc.
// Copyright (c) 2014-2015, Open Source Robotics Foundation
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
//  * Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
//  * Redistributions in binary form must reproduce the above
//    copyright notice, this list of conditions and the following
//    disclaimer in the documentation and/or other materials provided
//    with the distribution.
//  * Neither the name of Open Source Robotics Foundation nor the names of its
//    contributors may be used to endorse or promote products derived
//    from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

==== sources/eigen/Eigen/src/Geometry/AlignedBox.h lines 341-346 sha256 2c89511a4f8ec0adfb7361e92a930d8e500e9c0fa121d1fadd35569c2f9b9bd6 ====
  /**
   * Transforms this box by \a transform and recomputes it to
   * still be an axis-aligned box.
   *
   * \note This method is provided under BSD license (see the top of this file).
   */

==== sources/eigen/Eigen/src/Geometry/EulerAngles.h lines 1-9 sha256 63c3e3dc924cf67cd01ec780bd5fd7c412853f0d6d6c70fe4a22175c0f05d27f ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2023 Juraj Oršulić, University of Zagreb <juraj.orsulic@fer.hr>
//
// 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/.

==== sources/eigen/Eigen/src/Geometry/Quaternion.h lines 1-9 sha256 ae39dcc1773cc8d10dc8d227d125aa11392e7526b48d6c579e1fc59f60e201e3 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Mathieu Gautier <mathieu.gautier@cea.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Geometry/Transform.h lines 1-10 sha256 08558ad40bae951f34edef2fe3de3284bc65751447a2b259d7d174fe83543d02 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2010 Hauke Heibel <hauke.heibel@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Geometry/Umeyama.h lines 1-8 sha256 fb88005c877d3099024af5c61a16998f63af0b81cdfb4564b6108b6dff003c26 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Hauke Heibel <hauke.heibel@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h lines 1-9 sha256 fc0ae06075f938c9bed73b39bbf735b7eecd96768cdc2104417ff8bc4668d707 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Rohit Garg <rpg.314@gmail.com>
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Householder/BlockHouseholder.h lines 1-9 sha256 db2dcfa8e93a555f53e36da96e6c0c4dd03dc508046698e95f667eea6ae9553a ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Vincent Lejeune
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Householder/Householder.h lines 1-9 sha256 87e2e18170d4e6a58380e4eb02510f4cf6f20b0d6ea943d9adc96bbee6518bbc ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/Householder/HouseholderSequence.h lines 1-9 sha256 2ecf7a8b285ee4c1a6511ab8d0def70cdfa8b58e024430f9e36cb2f729e81feb ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h lines 1-8 sha256 ec8db24bc841b5726c56d84583904fb2af49a3d03b96b181810d8400df52211c ====
also in: sources/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h:1-8, sources/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h lines 1-9 sha256 9715293fe17fedd97e2ba2e26839ec70c25dba95e425d883d92dfff3e34ecc0a ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h lines 1-9 sha256 3ab6fec99f411f84b0d441aeaed8c930205cb985d21c9256578cee79fef57c01 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
// Copyright (C) 2015 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h lines 1-9 sha256 82101ead59398420414f1bc9534b6259e713619bdaf6d81d3591799c947bb5ce ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
// Copyright (C) 2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h lines 69-100 sha256 88a8fdcfb3c627b3a1e252c0d7c894869401d9d09a92e0ec70694dc5e1e99126 ====
/** \ingroup IterativeLinearSolvers_Module
 * \class IncompleteLUT
 * \brief Incomplete LU factorization with dual-threshold strategy
 *
 * \implsparsesolverconcept
 *
 * During the numerical factorization, two dropping rules are used :
 *  1) any element whose magnitude is less than some tolerance is dropped.
 *    This tolerance is obtained by multiplying the input tolerance @p droptol
 *    by the average magnitude of all the original elements in the current row.
 *  2) After the elimination of the row, only the @p fill largest elements in
 *    the L part and the @p fill largest elements in the U part are kept
 *    (in addition to the diagonal element ). Note that @p fill is computed from
 *    the input parameter @p fillfactor which is used the ratio to control the fill_in
 *    relatively to the initial number of nonzero elements.
 *
 * The two extreme cases are when @p droptol=0 (to keep all the @p fill*2 largest elements)
 * and when @p fill=n/2 with @p droptol being different to zero.
 *
 * References : Yousef Saad, ILUT: A dual threshold incomplete LU factorization,
 *              Numerical Linear Algebra with Applications, 1(4), pp 387-402, 1994.
 *
 * NOTE : The following implementation is derived from the ILUT implementation
 * in the SPARSKIT package, Copyright (C) 2005, the Regents of the University of Minnesota
 *  released under the terms of the GNU LGPL:
 *    http://www-users.cs.umn.edu/~saad/software/SPARSKIT/README
 * However, Yousef Saad gave us permission to relicense his ILUT code to MPL2.
 * See the Eigen mailing list archive, thread: ILUT, date: July 8, 2012:
 *   http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/2012/07/msg00064.html
 * alternatively, on GMANE:
 *   http://comments.gmane.org/gmane.comp.lib.eigen/3302
 */

==== sources/eigen/Eigen/src/LU/Determinant.h lines 1-8 sha256 8cde721ba49715fbd22db2d05d9982a729f0073564eac287c87eedd79acc8e0a ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/LU/FullPivLU.h lines 1-8 sha256 d08018ab6287cb04bb70b5e4a5f42ec664d355883d359d53ba37e26b679f9061 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/LU/InverseImpl.h lines 1-9 sha256 ca28d176ad2f5b65e70363dbc63b193895fcfc5f1af2843966a9017af94d8e62 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/LU/PartialPivLU.h lines 1-9 sha256 8842255750a46891620f08f8b22ae9409f994bb1a5d36294f5ec1c12c39194df ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2009 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h lines 1-31 sha256 77c43be2d87f7e86a2500d5f8d9c8b703cb77f63a165ec5d3e9578da1aa6b0a2 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *     LU decomposition with partial pivoting based on LAPACKE_?getrf function.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/LU/arch/InverseSize4.h lines 1-34 sha256 bd50f6f2a6af89b91697e099394da57a15704d1309cce7987e64089e7e82fc92 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2001 Intel Corporation
// Copyright (C) 2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.
//
// The algorithm below is a reimplementation of former \src\LU\Inverse_SSE.h using PacketMath.
// inv(M) = M#/|M|, where inv(M), M# and |M| denote the inverse of M,
// adjugate of M and determinant of M respectively. M# is computed block-wise
// using specific formulae. For proof, see:
// https://lxjk.github.io/2017/09/03/Fast-4x4-Matrix-Inverse-with-SSE-SIMD-Explained.html
// Variable names are adopted from \src\LU\Inverse_SSE.h.
//
// The SSE code for the 4x4 float and double matrix inverse in former (deprecated) \src\LU\Inverse_SSE.h
// comes from the following Intel's library:
// http://software.intel.com/en-us/articles/optimized-matrix-library-for-use-with-the-intel-pentiumr-4-processors-sse2-instructions/
//
// Here is the respective copyright and license statement:
//
//   Copyright (c) 2001 Intel Corporation.
//
// Permission is granted to use, copy, distribute and prepare derivative works
// of this library for any purpose and without fee, provided, that the above
// copyright notice and this statement appear in all copies.
// Intel makes no representations about the suitability of this software for
// any purpose, and specifically disclaims all warranties.
// See LEGAL.TXT for all the legal information.
//
// TODO: Unify implementations of different data types (i.e. float and double).

==== sources/eigen/Eigen/src/OrderingMethods/Amd.h lines 10-19 sha256 576a71d831f09733ed1df90dac0cf92a8c6526f0c41b1c5fc38d7707fd057506 ====
/*
NOTE: this routine has been adapted from the CSparse library:

Copyright (c) 2006, Timothy A. Davis.
http://www.suitesparse.com

The author of CSparse, Timothy A. Davis., has executed a license with Google LLC
to permit distribution of this code and derivative works as part of Eigen under
the Mozilla Public License v. 2.0, as stated at the top of this file.
*/

==== sources/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h lines 1-8 sha256 c6664247ba5e340108dc3155aba8c402c70c6eb1042dc18121a53595be4696ac ====
// // This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Desire Nuentsa Wakam <desire.nuentsa_wakam@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h lines 10-10 sha256 a56e73ff50c3db40b2b7bf02b8e6e7267604e037bf0fa46533c24cec9a98ac86 ====
// This file is modified from the colamd/symamd library. The copyright is below

==== sources/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h lines 12-44 sha256 4f24e8439505fc4c404708a4a5c907d6246d6d59c1ad3006cd2d26149ca0c97b ====
//   The authors of the code itself are Stefan I. Larimore and Timothy A.
//   Davis (davis@cise.ufl.edu), University of Florida.  The algorithm was
//   developed in collaboration with John Gilbert, Xerox PARC, and Esmond
//   Ng, Oak Ridge National Laboratory.
//
//     Date:
//
//   September 8, 2003.  Version 2.3.
//
//     Acknowledgements:
//
//   This work was supported by the National Science Foundation, under
//   grants DMS-9504974 and DMS-9803599.
//
//     Notice:
//
//   Copyright (c) 1998-2003 by the University of Florida.
//   All Rights Reserved.
//
//   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
//   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
//
//   Permission is hereby granted to use, copy, modify, and/or distribute
//   this program, provided that the Copyright, this License, and the
//   Availability of the original version is retained on all copies and made
//   accessible to the end-user of any code or package that includes COLAMD
//   or any modified version of COLAMD.
//
//     Availability:
//
//   The colamd/symamd library is available at
//
//       http://www.suitesparse.com

==== sources/eigen/Eigen/src/OrderingMethods/Ordering.h lines 2-9 sha256 e57840ba7533ec9c04a06db4274f259c617d4f3b5d6fafa828141b0752791717 ====
also in: sources/eigen/Eigen/src/SparseCore/SparseColEtree.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLUImpl.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_Memory.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_Structs.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_Utils.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h:1-8, sources/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012  Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/QR/ColPivHouseholderQR.h lines 1-9 sha256 76300b25fe6a5d8504f649593ee134dfc8e53841641e53f87ff06bd75ec73603 ====
also in: sources/eigen/Eigen/src/QR/FullPivHouseholderQR.h:1-9
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h lines 1-32 sha256 c2a00acd12c138de8b67a43083e60e0bf0fbc117f502b3407b96431104bd135f ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *    Householder QR decomposition of a matrix with column pivoting based on
 *    LAPACKE_?geqp3 function.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h lines 1-8 sha256 39574b8518df2e9f79358ca9f1b99936e76d2f5e0c3b1e8a1b5ad14192480889 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Rasmus Munk Larsen <rmlarsen@google.com>
//
// 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/.

==== sources/eigen/Eigen/src/QR/HouseholderQR.h lines 1-10 sha256 c5b8daab39d951f3e457c79437ccbff1a307364445f57fc74e75393345989b54 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2010 Vincent Lejeune
//
// 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/.

==== sources/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h lines 1-32 sha256 b24ed91d17d555d1d159d40a7a29e7c0ccec1a01b00c881a525ed39a07dd678d ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *    Householder QR decomposition of a matrix w/o pivoting based on
 *    LAPACKE_?geqrf function.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/SVD/BDCSVD.h lines 1-18 sha256 da7983c5383750c87c0e8bcafe6c7bcca1af2f65bc9be09362e1c0c322d6a1a3 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// We used the "A Divide-And-Conquer Algorithm for the Bidiagonal SVD"
// research report written by Ming Gu and Stanley C.Eisenstat
// The code variable names correspond to the names they used in their
// report
//
// Copyright (C) 2013 Gauthier Brun <brun.gauthier@gmail.com>
// Copyright (C) 2013 Nicolas Carre <nicolas.carre@ensimag.fr>
// Copyright (C) 2013 Jean Ceccato <jean.ceccato@ensimag.fr>
// Copyright (C) 2013 Pierre Zoppitelli <pierre.zoppitelli@ensimag.fr>
// Copyright (C) 2013 Jitse Niesen <jitse@maths.leeds.ac.uk>
// Copyright (C) 2014-2017 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h lines 1-8 sha256 bd4f3aec7c7030c47ec9f24bcac7f2928bd3a11792292e031f8c723594c85966 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2022 Melven Roehrig-Zoellner <Melven.Roehrig-Zoellner@DLR.de>
// Copyright (c) 2011, Intel Corporation. All rights reserved.
//
// This file is based on the JacobiSVD_LAPACKE.h originally from Intel -
// see license notice below:

==== sources/eigen/Eigen/src/SVD/BDCSVD_LAPACKE.h lines 9-37 sha256 033dfe8a49b21a66a7209cc8a9193f99786a6815caf1884d07bd6772ea18feaf ====
/*
 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *    Singular Value Decomposition - SVD (divide and conquer variant)
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/SVD/JacobiSVD.h lines 1-9 sha256 f37fb45958a91769f3a041638bbd75ef5ad11abbe46ff76535494cd4992fb3d9 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2013-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h lines 1-31 sha256 7a511480409d00b0fda42bc8d87187fd220e327dd2ef853178ef43f4b2ee2666 ====
/*
 Copyright (c) 2011, Intel Corporation. All rights reserved.

 Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of Intel Corporation nor the names of its contributors may
   be used to endorse or promote products derived from this software without
   specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 ********************************************************************************
 *   Content : Eigen bindings to LAPACKe
 *    Singular Value Decomposition - SVD.
 ********************************************************************************
*/

==== sources/eigen/Eigen/src/SVD/SVDBase.h lines 1-14 sha256 b207e0592a6ee8d201879cc71e660ce7b89b6857b2b7ded87a9e857c75163236 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// Copyright (C) 2013 Gauthier Brun <brun.gauthier@gmail.com>
// Copyright (C) 2013 Nicolas Carre <nicolas.carre@ensimag.fr>
// Copyright (C) 2013 Jean Ceccato <jean.ceccato@ensimag.fr>
// Copyright (C) 2013 Pierre Zoppitelli <pierre.zoppitelli@ensimag.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SVD/UpperBidiagonalization.h lines 1-9 sha256 b3fd6b0b542eb59d7a813cb9d79373af41ce8bef4e562f90c82b0caa21b9f0ad ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2013-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h lines 1-8 sha256 3f8f84cd992f5a70205dc0e904721b1ccd672ba22ea5a303e63842ec6fecddcf ====
also in: sources/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2012 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h lines 10-18 sha256 22a4ce393cf5e29b65ab63d0f40201def762c2dfc551b58bdc045206db86b61d ====
/*
NOTE: these functions have been adapted from the LDL library:

LDL Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.

The author of LDL, Timothy A. Davis., has executed a license with Google LLC
to permit distribution of this code and derivative works as part of Eigen under
the Mozilla Public License v. 2.0, as stated at the top of this file.
 */

==== sources/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h lines 1-8 sha256 57d2a93900f05eeb977cb41b45dbc3c6dd4c4aac2bb8ae8c3016dee741eb300d ====
also in: sources/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseDenseProduct.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseProduct.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseTranspose.h:1-8, sources/eigen/Eigen/src/SparseCore/SparseVector.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SparseCore/SparseColEtree.h lines 10-29 sha256 d2da3524aa550fd668a58dd68c585735d052adbf719d2082a0694c293411148b ====
/*

 * NOTE: This file is the modified version of sp_coletree.c file in SuperLU

 * -- SuperLU routine (version 3.1) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * August 1, 2008
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h lines 1-8 sha256 131fd9cb4f5e98e1f486bb5c49306c7cc012cbfe147704dd3076a04d8e07acb0 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h lines 1-8 sha256 57e4c4294e76dcc5f830754c641017ae9369725ee25ded4bfbbf180e3d5de35e ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SparseCore/SparseTriangularView.h lines 1-9 sha256 56a751234b0149ef456426fd0dd6ab658ff014d322a1425b1e7c2833628f7611 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SparseCore/SparseView.h lines 1-9 sha256 420dd68369c1bf032a92deb047c86aae616dae0a96860f0b5bd4022c70f80ce0 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2010 Daniel Lowengrub <lowdanie@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/SparseLU/SparseLU.h lines 1-9 sha256 6f62f94f3dce5210daa14add62fa86439bc6e9560eba5ba7321b2f344ee780db ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
// Copyright (C) 2012-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/SparseLU/SparseLU_Memory.h lines 10-29 sha256 3ef1ed9b37a0a44465ea6247239f5ddc6673cdadad3b7bd5e8cd1da3a52bdcfb ====
/*

 * NOTE: This file is the modified version of [s,d,c,z]memory.c files in SuperLU

 * -- SuperLU routine (version 3.1) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * August 1, 2008
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_Structs.h lines 10-67 sha256 c1b6a7146b4a9f909665a9b91d64507819384a3439a4934b49bc5b2cbde82c54 ====
/*
 * NOTE: This file comes from a partly modified version of files slu_[s,d,c,z]defs.h
 * -- SuperLU routine (version 4.1) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * November, 2010
 *
 * Global data structures used in LU factorization -
 *
 *   nsuper: #supernodes = nsuper + 1, numbered [0, nsuper].
 *   (xsup,supno): supno[i] is the supernode no to which i belongs;
 *  xsup(s) points to the beginning of the s-th supernode.
 *  e.g.   supno 0 1 2 2 3 3 3 4 4 4 4 4   (n=12)
 *          xsup 0 1 2 4 7 12
 *  Note: dfs will be performed on supernode rep. relative to the new
 *        row pivoting ordering
 *
 *   (xlsub,lsub): lsub[*] contains the compressed subscript of
 *  rectangular supernodes; xlsub[j] points to the starting
 *  location of the j-th column in lsub[*]. Note that xlsub
 *  is indexed by column.
 *  Storage: original row subscripts
 *
 *      During the course of sparse LU factorization, we also use
 *  (xlsub,lsub) for the purpose of symmetric pruning. For each
 *  supernode {s,s+1,...,t=s+r} with first column s and last
 *  column t, the subscript set
 *    lsub[j], j=xlsub[s], .., xlsub[s+1]-1
 *  is the structure of column s (i.e. structure of this supernode).
 *  It is used for the storage of numerical values.
 *  Furthermore,
 *    lsub[j], j=xlsub[t], .., xlsub[t+1]-1
 *  is the structure of the last column t of this supernode.
 *  It is for the purpose of symmetric pruning. Therefore, the
 *  structural subscripts can be rearranged without making physical
 *  interchanges among the numerical values.
 *
 *  However, if the supernode has only one column, then we
 *  only keep one set of subscripts. For any subscript interchange
 *  performed, similar interchange must be done on the numerical
 *  values.
 *
 *  The last column structures (for pruning) will be removed
 *  after the numerical LU factorization phase.
 *
 *   (xlusup,lusup): lusup[*] contains the numerical values of the
 *  rectangular supernodes; xlusup[j] points to the starting
 *  location of the j-th column in storage vector lusup[*]
 *  Note: xlusup is indexed by column.
 *  Each rectangular supernode is stored by column-major
 *  scheme, consistent with Fortran 2-dim array storage.
 *
 *   (xusub,ucol,usub): ucol[*] stores the numerical values of
 *  U-columns outside the rectangular supernodes. The row
 *  subscript of nonzero ucol[k] is stored in usub[k].
 *  xusub[i] points to the starting location of column i in ucol.
 *  Storage: new row subscripts; that is subscripts of PA.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h lines 11-30 sha256 5d7de18d503e3a17983c7383bedeb77a624bdbcfbc26411cba63c1f4f5b70c63 ====
/*

 * NOTE: This file is the modified version of xcolumn_bmod.c file in SuperLU

 * -- SuperLU routine (version 3.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * October 15, 2003
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h lines 10-29 sha256 f0ad8b4f58ad8373930c3dc6d86d28344a2fade22375d7d89a6a787ab81fce11 ====
/*

 * NOTE: This file is the modified version of [s,d,c,z]column_dfs.c file in SuperLU

 * -- SuperLU routine (version 2.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * November 15, 1997
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h lines 9-28 sha256 3f00de7a49ae85fe1a15c100a8c054b9badde1d46d0f85abca6f7840ca975f08 ====
/*

 * NOTE: This file is the modified version of [s,d,c,z]copy_to_ucol.c file in SuperLU

 * -- SuperLU routine (version 2.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * November 15, 1997
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h lines 10-26 sha256 10195158417051762e9099b0cc8bd9bad5bece2d337865cd4989c18b1c774179 ====
also in: sources/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h:10-26
/* This file is a modified version of heap_relax_snode.c file in SuperLU
 * -- SuperLU routine (version 3.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * October 15, 2003
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h lines 11-30 sha256 b5bc8ba26675082c267f816fb32af8b7eafe28272cadeeb1f415caf7291e24f1 ====
/*

 * NOTE: This file is the modified version of [s,d,c,z]panel_bmod.c file in SuperLU

 * -- SuperLU routine (version 3.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * October 15, 2003
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h lines 10-29 sha256 638f6df138bab700fdb6fcc7f6732cd60e18c6b1945e9f1a67d1c918c388cd70 ====
/*

 * NOTE: This file is the modified version of [s,d,c,z]panel_dfs.c file in SuperLU

 * -- SuperLU routine (version 2.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * November 15, 1997
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h lines 10-29 sha256 c1952bc2a3ce8e7056f95e91095dae7c515b9687031bab82504392fb34621cc8 ====
/*

 * NOTE: This file is the modified version of xpivotL.c file in SuperLU

 * -- SuperLU routine (version 3.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * October 15, 2003
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h lines 10-29 sha256 00fec67fc10f61d5f075db3a0940d6d0a8ca065ff5cefcce52d3584237c41280 ====
/*

 * NOTE: This file is the modified version of [s,d,c,z]pruneL.c file in SuperLU

 * -- SuperLU routine (version 2.0) --
 * Univ. of California Berkeley, Xerox Palo Alto Research Center,
 * and Lawrence Berkeley National Lab.
 * November 15, 1997
 *
 * Copyright (c) 1994 by Xerox Corporation.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
 * EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program for any
 * purpose, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is
 * granted, provided the above notices are retained, and a notice that
 * the code was modified is included with the above copyright notice.
 */

==== sources/eigen/Eigen/src/SparseQR/SparseQR.h lines 1-9 sha256 218222ec0e27c3ff505b97dea8bd7bdee29ea80c9def8ac974c7d3423c3d44f1 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2012-2013 Desire Nuentsa <desire.nuentsa_wakam@inria.fr>
// Copyright (C) 2012-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/ThreadPool/Barrier.h lines 1-8 sha256 fe1d25c91412c116d810e6df287a30ff58fe6566c1ba799c5f5f3d9ac9c7148c ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2018 Rasmus Munk Larsen <rmlarsen@google.com>
//
// 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/.

==== sources/eigen/Eigen/src/ThreadPool/Barrier.h lines 10-11 sha256 06cee92f5b24004d65021ab7dfd87560e1a3e8a1f134708648cadae27fbe7867 ====
// Barrier is an object that allows one or more threads to wait until
// Notify has been called a specified number of times.

==== sources/eigen/Eigen/src/ThreadPool/EventCount.h lines 1-8 sha256 7f03bf9276022535a8b0c74d1364bf54ed6047b3e5a2b195c6942ae78a9663de ====
also in: sources/eigen/Eigen/src/ThreadPool/NonBlockingThreadPool.h:1-8, sources/eigen/Eigen/src/ThreadPool/RunQueue.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2016 Dmitry Vyukov <dvyukov@google.com>
//
// 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/.

==== sources/eigen/Eigen/src/ThreadPool/ForkJoin.h lines 1-8 sha256 e8ff3f3b0f2374331dfa646c96cd45e10ac734855ecdb5f53448c7e2be939c33 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2025 Weiwei Kong <weiweikong@google.com>
//
// 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/.

==== sources/eigen/Eigen/src/misc/Image.h lines 1-8 sha256 0dbb87312aea100a505ee98121fee77ac40b705ad8c955c9a4a966ec9041e4ce ====
also in: sources/eigen/Eigen/src/misc/Kernel.h:1-8
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/misc/RealSvd2x2.h lines 1-9 sha256 8847f670844254539e83e346d6026063f58a2aadbefdebfc2c39f6bbce90a6c0 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2009-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
// Copyright (C) 2013-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
//
// 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/.

==== sources/eigen/Eigen/src/misc/lapacke.h lines 1-32 sha256 4d363d6409332e6acddf2039195d3de84e49e96744d2920391156c9d30e20114 ====
/*****************************************************************************
  Copyright (c) 2010, Intel Corp.
  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.
    * Neither the name of Intel Corporation nor the names of its contributors
      may be used to endorse or promote products derived from this software
      without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  THE POSSIBILITY OF SUCH DAMAGE.
******************************************************************************
* Contents: Native C interface to LAPACK
* Author: Intel Corporation
* Generated November, 2011
*****************************************************************************/

==== sources/eigen/Eigen/src/misc/lapacke_helpers.h lines 1-8 sha256 3efdbae2d019da0621845d573ece6a1ab78481826eca0b3fdd1996f5ed3219ca ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2021 Erik Schultheis <erik.schultheis@aalto.fi>
//
// 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/.

==== sources/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.inc lines 2-5 sha256 15e373f4ddf3960a91c82d1bf18cc0527fa5ba16dc9e0acaec6a27f63fb7601a ====
/** \returns an expression of the coefficient wise product of \c *this and \a other
 *
 * \sa MatrixBase::cwiseProduct
 */

==== sources/eigen/Eigen/src/plugins/BlockMethods.inc lines 1-9 sha256 ce2fe2d0f814721104b87f595f9825afb815814960d9eb584366fc92ee673f39 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc lines 1-9 sha256 ad8a07216426382f01e139d102ccc5cdd7111657169ff565d0b6e2701184de60 ====
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2016 Gael Guennebaud <gael.guennebaud@inria.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob.benoit.1@gmail.com>
//
// 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/.

==== sources/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc lines 11-11 sha256 65abd46bed336e3edc03109ac351f739fad8454a5b33be90b0ff0a7ec3a45fbc ====
also in: sources/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.inc:11-11
// This file is a base class plugin containing common coefficient wise functions.

==== sources/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.inc lines 13-18 sha256 6c71f3a47765e5048c66897de13dde140a0bc5cc8c57206b4176fc55e77d3f71 ====
/** \returns an expression of the difference of \c *this and \a other
 *
 * \note If you want to subtract a given scalar from all coefficients, see Cwise::operator-().
 *
 * \sa class CwiseBinaryOp, operator-=()
 */

==== sources/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc lines 11-11 sha256 d70c4ce56984ec043f96b21d37477e582410742af3adada96e9b9aabbab528bb ====
// This file is a base class plugin containing matrix specifics coefficient wise functions.

==== sources/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.inc lines 13-19 sha256 73a0704cbea8395edff429a6f79d82c8c64faa0570a1e881acb76cd149beb74c ====
/** \returns an expression of the Schur product (coefficient wise product) of *this and \a other
 *
 * Example: \include MatrixBase_cwiseProduct.cpp
 * Output: \verbinclude MatrixBase_cwiseProduct.out
 *
 * \sa class CwiseBinaryOp, cwiseAbs2
 */

==== sources/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.inc lines 11-12 sha256 ee6cd35aeeadf43d9851ef0988448a98c55a1ef30b0c8831b3305c5f6f47f93d ====
// This file is included into the body of the base classes supporting matrix specific coefficient-wise functions.
// This include MatrixBase and SparseMatrixBase.

