Eigen 3.3.90
The corresponding source for this library is available at
https://eigen.googlesource.com/mirror/

Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links:
  http://www.mozilla.org/MPL/2.0/
  http://www.mozilla.org/MPL/2.0/FAQ.html

Some files contain third-party code under BSD, whence
the other COPYING.* files here.

If you want to guarantee that the Eigen code that you are #including
is licensed under the MPL2 and possibly more permissive licenses (like
BSD), #define this preprocessor symbol: EIGEN_MPL2_ONLY 
For example, with most compilers, you could add this to your project
      CXXFLAGS: -DEIGEN_MPL2_ONLY 
This will cause a compilation error to be generated if you #include
any code that is covered by more restrictive licences than MPL2.

----------------------------------------------------------------------
Following applies to:
./test/sparseqr.cpp
./test/half_float.cpp
./test/zerosized.cpp
./test/nesting_ops.cpp
./test/sizeoverflow.cpp
./test/swap.cpp
./test/product_mmtr.cpp
./test/stdvector_overload.cpp
./test/product_symm.cpp
./test/sparse_block.cpp
./test/eigen2support.cpp
./test/upperbidiagonalization.cpp
./test/numext.cpp
./test/adjoint.cpp
./test/AnnoyingScalar.h
./test/mpl2only.cpp
./test/stddeque.cpp
./test/householder.cpp
./test/product_small.cpp
./test/product_syrk.cpp
./test/inplace_decomposition.cpp
./test/vectorwiseop.cpp
./test/meta.cpp
./test/stdvector.cpp
./test/sparseLM.cpp
./test/diagonalmatrices.cpp
./test/stdlist_overload.cpp
./test/block.cpp
./test/cholmod_support.cpp
./test/basicstuff.cpp
./test/triangular.cpp
./test/product.h
./test/vectorization_logic.cpp
./test/dontalign.cpp
./test/first_aligned.cpp
./test/mapped_matrix.cpp
./test/umfpack_support.cpp
./test/product_selfadjoint.cpp
./test/smallvectors.cpp
./test/corners.cpp
./test/product_trsolve.cpp
./test/determinant.cpp
./test/stdlist.cpp
./test/unalignedcount.cpp
./test/qr.cpp
./test/svd_common.h
./test/ref.cpp
./test/symbolic_index.cpp
./test/geo_transformations.cpp
./test/geo_eulerangles.cpp
./test/eigensolver_selfadjoint.cpp
./test/stddeque_overload.cpp
./test/jacobisvd.cpp
./test/nullary.cpp
./test/inverse.cpp
./test/integer_types.cpp
./test/metis_support.cpp
./test/exceptions.cpp
./test/packetmath.cpp
./test/schur_complex.cpp
./test/type_alias.cpp
./test/unalignedassert.cpp
./test/geo_quaternion.cpp
./test/lu.cpp
./test/qr_fullpivoting.cpp
./test/denseLM.cpp
./test/linearstructure.cpp
./test/rand.cpp
./test/conservative_resize.cpp
./test/eigensolver_generalized_real.cpp
./test/pastix_support.cpp
./test/sparse_solver.h
./test/num_dimensions.cpp
./test/simplicial_cholesky.cpp
./test/hessenberg.cpp
./test/array_reverse.cpp
./test/special_numbers.cpp
./test/array_for_matrix.cpp
./test/product_large.cpp
./test/resize.cpp
./test/sparse_solvers.cpp
./test/selfadjoint.cpp
./test/schur_real.cpp
./test/sparse_basic.cpp
./test/conjugate_gradient.cpp
./test/real_qz.cpp
./test/bandmatrix.cpp
./test/dense_storage.cpp
./test/permutationmatrices.cpp
./test/array_cwise.cpp
./test/qr_colpivoting.cpp
./test/array_replicate.cpp
./test/rvalue_types.cpp
./test/stable_norm.cpp
./test/geo_homogeneous.cpp
./test/main.h
./test/eigensolver_complex.cpp
./test/product_trmm.cpp
./test/bicgstab.cpp
./test/redux.cpp
./test/klu_support.cpp
./test/geo_alignedbox.cpp
./test/is_same_dense.cpp
./test/sparse_permutations.cpp
./test/sparse_vector.cpp
./test/diagonal.cpp
./test/sparse.h
./test/mapstride.cpp
./test/visitor.cpp
./test/geo_hyperplane.cpp
./test/bdcsvd.cpp
./test/product_trmv.cpp
./test/nestbyvalue.cpp
./test/array_of_string.cpp
./test/superlu_support.cpp
./test/sizeof.cpp
./test/boostmultiprec.cpp
./test/commainitializer.cpp
./test/constructor.cpp
./test/mixingtypes.cpp
./test/miscmatrices.cpp
./test/mapstaticmethods.cpp
./test/product_notemporary.cpp
./test/initializer_list_construction.cpp
./test/incomplete_cholesky.cpp
./test/geo_parametrizedline.cpp
./test/indexed_view.cpp
./test/qtvector.cpp
./test/sparselu.cpp
./test/sparse_product.cpp
./test/dynalloc.cpp
./test/fastmath.cpp
./test/prec_inverse_4x4.cpp
./test/umeyama.cpp
./test/reshape.cpp
./test/product_extra.cpp
./test/jacobi.cpp
./test/sparse_ref.cpp
./test/nomalloc.cpp
./test/spqr_support.cpp
./test/lscg.cpp
./test/cholesky.cpp
./test/eigensolver_generic.cpp
./test/geo_orthomethods.cpp
./test/svd_fill.h
./test/stl_iterators.cpp
./Eigen/src/MetisSupport/MetisSupport.h
./Eigen/src/CholmodSupport/CholmodSupport.h
./Eigen/src/QR/CompleteOrthogonalDecomposition.h
./Eigen/src/QR/FullPivHouseholderQR.h
./Eigen/src/QR/HouseholderQR.h
./Eigen/src/QR/ColPivHouseholderQR.h
./Eigen/src/plugins/CommonCwiseUnaryOps.h
./Eigen/src/plugins/BlockMethods.h
./Eigen/src/plugins/CommonCwiseBinaryOps.h
./Eigen/src/plugins/MatrixCwiseUnaryOps.h
./Eigen/src/plugins/IndexedViewMethods.h
./Eigen/src/plugins/MatrixCwiseBinaryOps.h
./Eigen/src/SVD/UpperBidiagonalization.h
./Eigen/src/SVD/SVDBase.h
./Eigen/src/SVD/BDCSVD.h
./Eigen/src/SVD/JacobiSVD.h
./Eigen/src/SparseLU/SparseLU_relax_snode.h
./Eigen/src/SparseLU/SparseLU_column_dfs.h
./Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h
./Eigen/src/SparseLU/SparseLU_pivotL.h
./Eigen/src/SparseLU/SparseLU.h
./Eigen/src/SparseLU/SparseLU_pruneL.h
./Eigen/src/SparseLU/SparseLU_copy_to_ucol.h
./Eigen/src/SparseLU/SparseLU_heap_relax_snode.h
./Eigen/src/SparseLU/SparseLU_kernel_bmod.h
./Eigen/src/SparseLU/SparseLU_panel_dfs.h
./Eigen/src/SparseLU/SparseLU_panel_bmod.h
./Eigen/src/SparseLU/SparseLU_Structs.h
./Eigen/src/SparseLU/SparseLUImpl.h
./Eigen/src/SparseLU/SparseLU_Memory.h
./Eigen/src/SparseLU/SparseLU_column_bmod.h
./Eigen/src/SparseLU/SparseLU_gemm_kernel.h
./Eigen/src/SparseLU/SparseLU_Utils.h
./Eigen/src/OrderingMethods/Eigen_Colamd.h
./Eigen/src/OrderingMethods/Ordering.h
./Eigen/src/OrderingMethods/Amd.h
./Eigen/src/UmfPackSupport/UmfPackSupport.h
./Eigen/src/Geometry/Umeyama.h
./Eigen/src/Geometry/Transform.h
./Eigen/src/Geometry/OrthoMethods.h
./Eigen/src/Geometry/Hyperplane.h
./Eigen/src/Geometry/Homogeneous.h
./Eigen/src/Geometry/RotationBase.h
./Eigen/src/Geometry/EulerAngles.h
./Eigen/src/Geometry/Translation.h
./Eigen/src/Geometry/Rotation2D.h
./Eigen/src/Geometry/Scaling.h
./Eigen/src/Geometry/AlignedBox.h
./Eigen/src/Geometry/ParametrizedLine.h
./Eigen/src/Geometry/Quaternion.h
./Eigen/src/Geometry/AngleAxis.h
./Eigen/src/Geometry/arch/Geometry_SSE.h
./Eigen/src/KLUSupport/KLUSupport.h
./Eigen/src/misc/Kernel.h
./Eigen/src/misc/RealSvd2x2.h
./Eigen/src/misc/Image.h
./Eigen/src/StlSupport/details.h
./Eigen/src/StlSupport/StdList.h
./Eigen/src/StlSupport/StdDeque.h
./Eigen/src/StlSupport/StdVector.h
./Eigen/src/SparseQR/SparseQR.h
./Eigen/src/SuperLUSupport/SuperLUSupport.h
./Eigen/src/Householder/Householder.h
./Eigen/src/Householder/HouseholderSequence.h
./Eigen/src/Householder/BlockHouseholder.h
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h
./Eigen/src/Eigenvalues/EigenSolver.h
./Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
./Eigen/src/Eigenvalues/Tridiagonalization.h
./Eigen/src/Eigenvalues/HessenbergDecomposition.h
./Eigen/src/Eigenvalues/RealQZ.h
./Eigen/src/Eigenvalues/RealSchur.h
./Eigen/src/Eigenvalues/ComplexSchur.h
./Eigen/src/Eigenvalues/ComplexEigenSolver.h
./Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h
./Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h
./Eigen/src/SparseCholesky/SimplicialCholesky.h
./Eigen/src/SparseCholesky/SimplicialCholesky_impl.h
./Eigen/src/Cholesky/LLT.h
./Eigen/src/Cholesky/LDLT.h
./Eigen/src/Jacobi/Jacobi.h
./Eigen/src/PaStiXSupport/PaStiXSupport.h
./Eigen/src/SPQRSupport/SuiteSparseQRSupport.h
./Eigen/src/LU/Determinant.h
./Eigen/src/LU/InverseImpl.h
./Eigen/src/LU/PartialPivLU.h
./Eigen/src/LU/arch/Inverse_SSE.h
./Eigen/src/LU/FullPivLU.h
./Eigen/src/Core/Map.h
./Eigen/src/Core/VectorwiseOp.h
./Eigen/src/Core/VectorBlock.h
./Eigen/src/Core/Array.h
./Eigen/src/Core/Assign.h
./Eigen/src/Core/Dot.h
./Eigen/src/Core/NestByValue.h
./Eigen/src/Core/CoreEvaluators.h
./Eigen/src/Core/ReturnByValue.h
./Eigen/src/Core/SelfCwiseBinaryOp.h
./Eigen/src/Core/GlobalFunctions.h
./Eigen/src/Core/Transpositions.h
./Eigen/src/Core/Fuzzy.h
./Eigen/src/Core/NoAlias.h
./Eigen/src/Core/CwiseNullaryOp.h
./Eigen/src/Core/NumTraits.h
./Eigen/src/Core/IndexedView.h
./Eigen/src/Core/ArrayWrapper.h
./Eigen/src/Core/util/SymbolicIndex.h
./Eigen/src/Core/util/BlasUtil.h
./Eigen/src/Core/util/Constants.h
./Eigen/src/Core/util/IntegralConstant.h
./Eigen/src/Core/util/ReshapedHelper.h
./Eigen/src/Core/util/StaticAssert.h
./Eigen/src/Core/util/IndexedViewHelper.h
./Eigen/src/Core/util/ConfigureVectorization.h
./Eigen/src/Core/util/ForwardDeclarations.h
./Eigen/src/Core/util/Meta.h
./Eigen/src/Core/util/XprHelper.h
./Eigen/src/Core/util/Macros.h
./Eigen/src/Core/util/Memory.h
./Eigen/src/Core/Product.h
./Eigen/src/Core/Replicate.h
./Eigen/src/Core/ArrayBase.h
./Eigen/src/Core/functors/NullaryFunctors.h
./Eigen/src/Core/functors/StlFunctors.h
./Eigen/src/Core/functors/AssignmentFunctors.h
./Eigen/src/Core/functors/UnaryFunctors.h
./Eigen/src/Core/functors/TernaryFunctors.h
./Eigen/src/Core/functors/BinaryFunctors.h
./Eigen/src/Core/Redux.h
./Eigen/src/Core/EigenBase.h
./Eigen/src/Core/SolverBase.h
./Eigen/src/Core/ProductEvaluators.h
./Eigen/src/Core/Block.h
./Eigen/src/Core/SolveTriangular.h
./Eigen/src/Core/ArithmeticSequence.h
./Eigen/src/Core/MatrixBase.h
./Eigen/src/Core/PlainObjectBase.h
./Eigen/src/Core/Transpose.h
./Eigen/src/Core/IO.h
./Eigen/src/Core/MathFunctions.h
./Eigen/src/Core/Stride.h
./Eigen/src/Core/MathFunctionsImpl.h
./Eigen/src/Core/StableNorm.h
./Eigen/src/Core/DiagonalProduct.h
./Eigen/src/Core/products/GeneralMatrixMatrix.h
./Eigen/src/Core/products/GeneralMatrixVector.h
./Eigen/src/Core/products/SelfadjointMatrixVector.h
./Eigen/src/Core/products/GeneralBlockPanelKernel.h
./Eigen/src/Core/products/TriangularSolverMatrix.h
./Eigen/src/Core/products/SelfadjointMatrixMatrix.h
./Eigen/src/Core/products/Parallelizer.h
./Eigen/src/Core/products/SelfadjointRank2Update.h
./Eigen/src/Core/products/TriangularMatrixMatrix.h
./Eigen/src/Core/products/TriangularMatrixVector.h
./Eigen/src/Core/products/SelfadjointProduct.h
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h
./Eigen/src/Core/products/TriangularSolverVector.h
./Eigen/src/Core/CwiseUnaryView.h
./Eigen/src/Core/CommaInitializer.h
./Eigen/src/Core/DenseStorage.h
./Eigen/src/Core/DenseBase.h
./Eigen/src/Core/PartialReduxEvaluator.h
./Eigen/src/Core/CoreIterators.h
./Eigen/src/Core/PermutationMatrix.h
./Eigen/src/Core/CwiseTernaryOp.h
./Eigen/src/Core/Reverse.h
./Eigen/src/Core/Reshaped.h
./Eigen/src/Core/Inverse.h
./Eigen/src/Core/TriangularMatrix.h
./Eigen/src/Core/BooleanRedux.h
./Eigen/src/Core/ForceAlignedAccess.h
./Eigen/src/Core/Ref.h
./Eigen/src/Core/StlIterators.h
./Eigen/src/Core/BandMatrix.h
./Eigen/src/Core/ConditionEstimator.h
./Eigen/src/Core/Diagonal.h
./Eigen/src/Core/DiagonalMatrix.h
./Eigen/src/Core/AssignEvaluator.h
./Eigen/src/Core/CwiseBinaryOp.h
./Eigen/src/Core/Visitor.h
./Eigen/src/Core/GenericPacketMath.h
./Eigen/src/Core/SelfAdjointView.h
./Eigen/src/Core/Random.h
./Eigen/src/Core/Solve.h
./Eigen/src/Core/arch/AltiVec/MathFunctions.h
./Eigen/src/Core/arch/AltiVec/PacketMath.h
./Eigen/src/Core/arch/AltiVec/Complex.h
./Eigen/src/Core/arch/MSA/MathFunctions.h
./Eigen/src/Core/arch/MSA/Complex.h
./Eigen/src/Core/arch/MSA/PacketMath.h
./Eigen/src/Core/arch/GPU/Half.h
./Eigen/src/Core/arch/GPU/PacketMathHalf.h
./Eigen/src/Core/arch/GPU/MathFunctions.h
./Eigen/src/Core/arch/GPU/PacketMath.h
./Eigen/src/Core/arch/GPU/TypeCasting.h
./Eigen/src/Core/arch/NEON/MathFunctions.h
./Eigen/src/Core/arch/NEON/Complex.h
./Eigen/src/Core/arch/NEON/PacketMath.h
./Eigen/src/Core/arch/NEON/TypeCasting.h
./Eigen/src/Core/arch/AVX/MathFunctions.h
./Eigen/src/Core/arch/AVX/TypeCasting.h
./Eigen/src/Core/arch/AVX/Complex.h
./Eigen/src/Core/arch/AVX/PacketMath.h
./Eigen/src/Core/arch/SYCL/InteropHeaders.h
./Eigen/src/Core/arch/SYCL/PacketMath.h
./Eigen/src/Core/arch/SYCL/TypeCasting.h
./Eigen/src/Core/arch/SYCL/MathFunctions.h
./Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h
./Eigen/src/Core/arch/Default/ConjHelper.h
./Eigen/src/Core/arch/Default/Settings.h
./Eigen/src/Core/arch/AVX512/MathFunctions.h
./Eigen/src/Core/arch/AVX512/PacketMath.h
./Eigen/src/Core/arch/AVX512/Complex.h
./Eigen/src/Core/arch/SSE/PacketMath.h
./Eigen/src/Core/arch/SSE/Complex.h
./Eigen/src/Core/arch/SSE/TypeCasting.h
./Eigen/src/Core/arch/SSE/MathFunctions.h
./Eigen/src/Core/arch/ZVector/MathFunctions.h
./Eigen/src/Core/arch/ZVector/PacketMath.h
./Eigen/src/Core/arch/ZVector/Complex.h
./Eigen/src/Core/arch/CUDA/Complex.h
./Eigen/src/Core/Swap.h
./Eigen/src/Core/MapBase.h
./Eigen/src/Core/GeneralProduct.h
./Eigen/src/Core/Matrix.h
./Eigen/src/Core/Select.h
./Eigen/src/Core/CwiseUnaryOp.h
./Eigen/src/Core/DenseCoeffsBase.h
./Eigen/src/SparseCore/SparseCwiseUnaryOp.h
./Eigen/src/SparseCore/TriangularSolver.h
./Eigen/src/SparseCore/SparseView.h
./Eigen/src/SparseCore/SparseSolverBase.h
./Eigen/src/SparseCore/SparseTranspose.h
./Eigen/src/SparseCore/SparseDenseProduct.h
./Eigen/src/SparseCore/SparseMap.h
./Eigen/src/SparseCore/SparseProduct.h
./Eigen/src/SparseCore/SparseUtil.h
./Eigen/src/SparseCore/SparsePermutation.h
./Eigen/src/SparseCore/SparseTriangularView.h
./Eigen/src/SparseCore/SparseSelfAdjointView.h
./Eigen/src/SparseCore/SparseMatrixBase.h
./Eigen/src/SparseCore/AmbiVector.h
./Eigen/src/SparseCore/SparseAssign.h
./Eigen/src/SparseCore/SparseRedux.h
./Eigen/src/SparseCore/SparseDot.h
./Eigen/src/SparseCore/SparseCwiseBinaryOp.h
./Eigen/src/SparseCore/SparseCompressedBase.h
./Eigen/src/SparseCore/SparseSparseProductWithPruning.h
./Eigen/src/SparseCore/SparseColEtree.h
./Eigen/src/SparseCore/SparseRef.h
./Eigen/src/SparseCore/CompressedStorage.h
./Eigen/src/SparseCore/MappedSparseMatrix.h
./Eigen/src/SparseCore/SparseDiagonalProduct.h
./Eigen/src/SparseCore/SparseFuzzy.h
./Eigen/src/SparseCore/ConservativeSparseSparseProduct.h
./Eigen/src/SparseCore/SparseMatrix.h
./Eigen/src/SparseCore/SparseVector.h
./Eigen/src/SparseCore/SparseBlock.h
./Eigen/src/IterativeLinearSolvers/SolveWithGuess.h
./Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h
./Eigen/src/IterativeLinearSolvers/BiCGSTAB.h
./Eigen/src/IterativeLinearSolvers/ConjugateGradient.h
./Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h
./Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h
./Eigen/src/IterativeLinearSolvers/IncompleteLUT.h
./Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h
./unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h
./unsupported/Eigen/src/SpecialFunctions/arch/GPU/GpuSpecialFunctions.h
./unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h
./unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h
./unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h
./unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h
./unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h
./unsupported/Eigen/src/Polynomials/Companion.h
./unsupported/Eigen/src/Polynomials/PolynomialUtils.h
./unsupported/Eigen/src/Polynomials/PolynomialSolver.h
./unsupported/Eigen/src/Splines/Spline.h
./unsupported/Eigen/src/Splines/SplineFwd.h
./unsupported/Eigen/src/Splines/SplineFitting.h
./unsupported/Eigen/src/BVH/KdBVH.h
./unsupported/Eigen/src/BVH/BVAlgorithms.h
./unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h
./unsupported/Eigen/src/AutoDiff/AutoDiffVector.h
./unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h
./unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h
./unsupported/Eigen/src/MatrixFunctions/MatrixPower.h
./unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h
./unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h
./unsupported/Eigen/src/MatrixFunctions/StemFunction.h
./unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h
./unsupported/Eigen/src/Skyline/SkylineStorage.h
./unsupported/Eigen/src/Skyline/SkylineMatrixBase.h
./unsupported/Eigen/src/Skyline/SkylineMatrix.h
./unsupported/Eigen/src/Skyline/SkylineInplaceLU.h
./unsupported/Eigen/src/Skyline/SkylineProduct.h
./unsupported/Eigen/src/Skyline/SkylineUtil.h
./unsupported/Eigen/src/FFT/ei_kissfft_impl.h
./unsupported/Eigen/src/FFT/ei_fftw_impl.h
./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
./unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h
./unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h
./unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h
./unsupported/Eigen/src/NumericalDiff/NumericalDiff.h
./unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h
./unsupported/Eigen/src/IterativeSolvers/MINRES.h
./unsupported/Eigen/src/IterativeSolvers/DGMRES.h
./unsupported/Eigen/src/IterativeSolvers/Scaling.h
./unsupported/Eigen/src/IterativeSolvers/GMRES.h
./unsupported/Eigen/src/MoreVectorization/MathFunctions.h
./unsupported/Eigen/src/EulerAngles/EulerAngles.h
./unsupported/Eigen/src/EulerAngles/EulerSystem.h
./unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h
./unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h
./unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h
./unsupported/Eigen/src/SparseExtra/RandomSetter.h
./unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h
./unsupported/Eigen/src/SparseExtra/MarketIO.h
./unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h
./unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h
./unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h
./unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h
./unsupported/Eigen/CXX11/src/util/EmulateCXX11Meta.h
./unsupported/Eigen/CXX11/src/util/CXX11Meta.h
./unsupported/Eigen/CXX11/src/util/MaxSizeVector.h
./unsupported/Eigen/CXX11/src/util/EmulateArray.h
./unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h
./unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h
./unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h
./unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h
./unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h
./unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h
./unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h
./unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h
./unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h
./unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h
./unsupported/Eigen/CXX11/src/Tensor/TensorRef.h
./unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclRun.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclTuple.h
./unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h
./unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h
./unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h
./unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h
./unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h
./unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclExprConstructor.h
./unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h
./unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclConvertToDeviceExpression.h
./unsupported/Eigen/CXX11/src/Tensor/Tensor.h
./unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h
./unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h
./unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h
./unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h
./unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h
./unsupported/Eigen/CXX11/src/Tensor/TensorScan.h
./unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h
./unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h
./unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h
./unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h
./unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h
./unsupported/Eigen/CXX11/src/Tensor/TensorArgMaxSycl.h
./unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h
./unsupported/Eigen/CXX11/src/Tensor/TensorBase.h
./unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h
./unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h
./unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h
./unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h
./unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h
./unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h
./unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h
./unsupported/Eigen/CXX11/src/Tensor/TensorIO.h
./unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h
./unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h
./unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h
./unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h
./unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclFunctors.h
./unsupported/Eigen/CXX11/src/Tensor/TensorMap.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSycl.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractFunctors.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h
./unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h
./unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h
./unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h
./unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h
./unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h
./unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h
./unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h
./unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h
./unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h
./unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h
./unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h
./unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h
./unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h
./unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h
./unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h
./unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h
./unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h
./unsupported/Eigen/CXX11/src/Tensor/TensorSyclLeafCount.h
./unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h
./unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h
./unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h
./unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h
./unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h
./unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h
./unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h
./unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h
./unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h
./unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h
./unsupported/Eigen/CXX11/src/FixedPoint/MatMatProduct.h
./unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductNEON.h
./unsupported/Eigen/CXX11/src/FixedPoint/MatVecProduct.h
./unsupported/Eigen/CXX11/src/FixedPoint/FixedPointTypes.h
./unsupported/Eigen/CXX11/src/FixedPoint/MatMatProductAVX2.h
./unsupported/bench/bench_svd.cpp
./unsupported/test/cxx11_tensor_image_patch_sycl.cpp
./unsupported/test/cxx11_tensor_expr.cpp
./unsupported/test/FFTW.cpp
./unsupported/test/cxx11_tensor_reverse_sycl.cpp
./unsupported/test/cxx11_tensor_comparisons.cpp
./unsupported/test/cxx11_tensor_intdiv.cpp
./unsupported/test/autodiff.cpp
./unsupported/test/cxx11_tensor_executor.cpp
./unsupported/test/cxx11_tensor_reduction.cpp
./unsupported/test/cxx11_tensor_device_sycl.cpp
./unsupported/test/minres.cpp
./unsupported/test/cxx11_tensor_striding.cpp
./unsupported/test/cxx11_tensor_chipping.cpp
./unsupported/test/cxx11_tensor_convolution_sycl.cpp
./unsupported/test/openglsupport.cpp
./unsupported/test/cxx11_tensor_ifft.cpp
./unsupported/test/polynomialutils.cpp
./unsupported/test/cxx11_tensor_block_access.cpp
./unsupported/test/cxx11_tensor_morphing.cpp
./unsupported/test/cxx11_tensor_casts.cpp
./unsupported/test/cxx11_tensor_shuffling_sycl.cpp
./unsupported/test/cxx11_tensor_morphing_sycl.cpp
./unsupported/test/forward_adolc.cpp
./unsupported/test/cxx11_tensor_layout_swap.cpp
./unsupported/test/cxx11_tensor_move.cpp
./unsupported/test/EulerAngles.cpp
./unsupported/test/cxx11_tensor_trace.cpp
./unsupported/test/alignedvector3.cpp
./unsupported/test/cxx11_tensor_lvalue.cpp
./unsupported/test/cxx11_tensor_argmax.cpp
./unsupported/test/cxx11_tensor_broadcast_sycl.cpp
./unsupported/test/autodiff_scalar.cpp
./unsupported/test/sparse_extra.cpp
./unsupported/test/cxx11_tensor_of_strings.cpp
./unsupported/test/cxx11_tensor_empty.cpp
./unsupported/test/cxx11_tensor_patch.cpp
./unsupported/test/cxx11_tensor_sycl.cpp
./unsupported/test/cxx11_tensor_forced_eval_sycl.cpp
./unsupported/test/cxx11_tensor_inflation_sycl.cpp
./unsupported/test/BVH.cpp
./unsupported/test/cxx11_tensor_generator.cpp
./unsupported/test/cxx11_meta.cpp
./unsupported/test/matrix_functions.h
./unsupported/test/kronecker_product.cpp
./unsupported/test/matrix_function.cpp
./unsupported/test/cxx11_tensor_thread_pool.cpp
./unsupported/test/cxx11_non_blocking_thread_pool.cpp
./unsupported/test/cxx11_tensor_fft.cpp
./unsupported/test/cxx11_tensor_assign.cpp
./unsupported/test/cxx11_tensor_simple.cpp
./unsupported/test/cxx11_tensor_of_complex.cpp
./unsupported/test/cxx11_tensor_inflation.cpp
./unsupported/test/cxx11_tensor_map.cpp
./unsupported/test/cxx11_tensor_shuffling.cpp
./unsupported/test/cxx11_tensor_padding.cpp
./unsupported/test/cxx11_tensor_argmax_sycl.cpp
./unsupported/test/matrix_square_root.cpp
./unsupported/test/dgmres.cpp
./unsupported/test/cxx11_tensor_custom_op_sycl.cpp
./unsupported/test/cxx11_tensor_reduction_sycl.cpp
./unsupported/test/cxx11_runqueue.cpp
./unsupported/test/cxx11_tensor_const.cpp
./unsupported/test/matrix_power.cpp
./unsupported/test/cxx11_tensor_contraction.cpp
./unsupported/test/cxx11_tensor_random.cpp
./unsupported/test/cxx11_tensor_volume_patch_sycl.cpp
./unsupported/test/cxx11_tensor_contract_sycl.cpp
./unsupported/test/cxx11_tensor_math.cpp
./unsupported/test/splines.cpp
./unsupported/test/cxx11_tensor_ref.cpp
./unsupported/test/cxx11_tensor_concatenation_sycl.cpp
./unsupported/test/gmres.cpp
./unsupported/test/cxx11_tensor_fixed_size.cpp
./unsupported/test/cxx11_tensor_custom_op.cpp
./unsupported/test/cxx11_tensor_generator_sycl.cpp
./unsupported/test/cxx11_tensor_uint128.cpp
./unsupported/test/cxx11_tensor_builtins_sycl.cpp
./unsupported/test/polynomialsolver.cpp
./unsupported/test/cxx11_tensor_concatenation.cpp
./unsupported/test/cxx11_tensor_broadcasting.cpp
./unsupported/test/cxx11_tensor_convolution.cpp
./unsupported/test/cxx11_tensor_forced_eval.cpp
./unsupported/test/levenberg_marquardt.cpp
./unsupported/test/cxx11_tensor_reverse.cpp
./unsupported/test/cxx11_tensor_notification.cpp
./unsupported/test/cxx11_tensor_patch_sycl.cpp
./unsupported/test/cxx11_tensor_image_patch.cpp
./unsupported/test/cxx11_tensor_scan.cpp
./unsupported/test/cxx11_tensor_padding_sycl.cpp
./unsupported/test/cxx11_tensor_index_list.cpp
./unsupported/test/cxx11_tensor_io.cpp
./unsupported/test/cxx11_tensor_mixed_indices.cpp
./unsupported/test/cxx11_tensor_striding_sycl.cpp
./unsupported/test/cxx11_tensor_of_const_values.cpp
./unsupported/test/cxx11_tensor_symmetry.cpp
./unsupported/test/cxx11_tensor_custom_index.cpp
./unsupported/test/cxx11_tensor_chipping_sycl.cpp
./unsupported/test/cxx11_tensor_roundings.cpp
./unsupported/test/matrix_exponential.cpp
./unsupported/test/cxx11_eventcount.cpp
./unsupported/test/special_functions.cpp
./unsupported/test/cxx11_tensor_dimension.cpp
./unsupported/test/cxx11_tensor_layout_swap_sycl.cpp
./lapack/eigenvalues.cpp
./lapack/single.cpp
./lapack/svd.cpp
./lapack/complex_single.cpp
./lapack/lu.cpp
./lapack/double.cpp
./lapack/complex_double.cpp
./lapack/cholesky.cpp
./lapack/lapack_common.h
./blas/level2_impl.h
./blas/PackedTriangularMatrixVector.h
./blas/level3_impl.h
./blas/complex_double.cpp
./blas/common.h
./blas/GeneralRank1Update.h
./blas/double.cpp
./blas/complex_single.cpp
./blas/Rank2Update.h
./blas/level1_impl.h
./blas/level2_real_impl.h
./blas/level1_real_impl.h
./blas/single.cpp
./blas/PackedSelfadjointProduct.h
./blas/BandTriangularSolver.h
./blas/level2_cplx_impl.h
./blas/PackedTriangularSolverVector.h
./blas/level1_cplx_impl.h
./bench/analyze-blocking-sizes.cpp
./bench/BenchTimer.h
./bench/spbench/spbenchsolver.h
./bench/spbench/spbenchstyle.h
./bench/benchFFT.cpp
./bench/eig33.cpp
./bench/benchmark-blocking-sizes.cpp
./demos/opengl/quaternion_demo.cpp
./demos/opengl/camera.h
./demos/opengl/gpuhelper.cpp
./demos/opengl/gpuhelper.h
./demos/opengl/icosphere.cpp
./demos/opengl/quaternion_demo.h
./demos/opengl/trackball.h
./demos/opengl/icosphere.h
./demos/opengl/camera.cpp
./demos/opengl/trackball.cpp
./demos/mix_eigen_and_c/binary_library.h
./demos/mix_eigen_and_c/binary_library.cpp
./demos/mandelbrot/mandelbrot.cpp
./demos/mandelbrot/mandelbrot.h

Mozilla Public License Version 2.0
==================================

1. Definitions
--------------

1.1. "Contributor"
    means each individual or legal entity that creates, contributes to
    the creation of, or owns Covered Software.

1.2. "Contributor Version"
    means the combination of the Contributions of others (if any) used
    by a Contributor and that particular Contributor's Contribution.

1.3. "Contribution"
    means Covered Software of a particular Contributor.

1.4. "Covered Software"
    means Source Code Form to which the initial Contributor has attached
    the notice in Exhibit A, the Executable Form of such Source Code
    Form, and Modifications of such Source Code Form, in each case
    including portions thereof.

1.5. "Incompatible With Secondary Licenses"
    means

    (a) that the initial Contributor has attached the notice described
        in Exhibit B to the Covered Software; or

    (b) that the Covered Software was made available under the terms of
        version 1.1 or earlier of the License, but not also under the
        terms of a Secondary License.

1.6. "Executable Form"
    means any form of the work other than Source Code Form.

1.7. "Larger Work"
    means a work that combines Covered Software with other material, in 
    a separate file or files, that is not Covered Software.

1.8. "License"
    means this document.

1.9. "Licensable"
    means having the right to grant, to the maximum extent possible,
    whether at the time of the initial grant or subsequently, any and
    all of the rights conveyed by this License.

1.10. "Modifications"
    means any of the following:

    (a) any file in Source Code Form that results from an addition to,
        deletion from, or modification of the contents of Covered
        Software; or

    (b) any new file in Source Code Form that contains any Covered
        Software.

1.11. "Patent Claims" of a Contributor
    means any patent claim(s), including without limitation, method,
    process, and apparatus claims, in any patent Licensable by such
    Contributor that would be infringed, but for the grant of the
    License, by the making, using, selling, offering for sale, having
    made, import, or transfer of either its Contributions or its
    Contributor Version.

1.12. "Secondary License"
    means either the GNU General Public License, Version 2.0, the GNU
    Lesser General Public License, Version 2.1, the GNU Affero General
    Public License, Version 3.0, or any later versions of those
    licenses.

1.13. "Source Code Form"
    means the form of the work preferred for making modifications.

1.14. "You" (or "Your")
    means an individual or a legal entity exercising rights under this
    License. For legal entities, "You" includes any entity that
    controls, is controlled by, or is under common control with You. For
    purposes of this definition, "control" means (a) the power, direct
    or indirect, to cause the direction or management of such entity,
    whether by contract or otherwise, or (b) ownership of more than
    fifty percent (50%) of the outstanding shares or beneficial
    ownership of such entity.

2. License Grants and Conditions
--------------------------------

2.1. Grants

Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:

(a) under intellectual property rights (other than patent or trademark)
    Licensable by such Contributor to use, reproduce, make available,
    modify, display, perform, distribute, and otherwise exploit its
    Contributions, either on an unmodified basis, with Modifications, or
    as part of a Larger Work; and

(b) under Patent Claims of such Contributor to make, use, sell, offer
    for sale, have made, import, and otherwise transfer either its
    Contributions or its Contributor Version.

2.2. Effective Date

The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.

2.3. Limitations on Grant Scope

The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:

(a) for any code that a Contributor has removed from Covered Software;
    or

(b) for infringements caused by: (i) Your and any other third party's
    modifications of Covered Software, or (ii) the combination of its
    Contributions with other software (except as part of its Contributor
    Version); or

(c) under Patent Claims infringed by Covered Software in the absence of
    its Contributions.

This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).

2.4. Subsequent Licenses

No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).

2.5. Representation

Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.

2.6. Fair Use

This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.

2.7. Conditions

Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.

3. Responsibilities
-------------------

3.1. Distribution of Source Form

All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.

3.2. Distribution of Executable Form

If You distribute Covered Software in Executable Form then:

(a) such Covered Software must also be made available in Source Code
    Form, as described in Section 3.1, and You must inform recipients of
    the Executable Form how they can obtain a copy of such Source Code
    Form by reasonable means in a timely manner, at a charge no more
    than the cost of distribution to the recipient; and

(b) You may distribute such Executable Form under the terms of this
    License, or sublicense it under different terms, provided that the
    license for the Executable Form does not attempt to limit or alter
    the recipients' rights in the Source Code Form under this License.

3.3. Distribution of a Larger Work

You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).

3.4. Notices

You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.

3.5. Application of Additional Terms

You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.

4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------

If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.

5. Termination
--------------

5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.

5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.

5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.

************************************************************************
*                                                                      *
*  6. Disclaimer of Warranty                                           *
*  -------------------------                                           *
*                                                                      *
*  Covered Software is provided under this License on an "as is"       *
*  basis, without warranty of any kind, either expressed, implied, or  *
*  statutory, including, without limitation, warranties that the       *
*  Covered Software is free of defects, merchantable, fit for a        *
*  particular purpose or non-infringing. The entire risk as to the     *
*  quality and performance of the Covered Software is with You.        *
*  Should any Covered Software prove defective in any respect, You     *
*  (not any Contributor) assume the cost of any necessary servicing,   *
*  repair, or correction. This disclaimer of warranty constitutes an   *
*  essential part of this License. No use of any Covered Software is   *
*  authorized under this License except under this disclaimer.         *
*                                                                      *
************************************************************************

************************************************************************
*                                                                      *
*  7. Limitation of Liability                                          *
*  --------------------------                                          *
*                                                                      *
*  Under no circumstances and under no legal theory, whether tort      *
*  (including negligence), contract, or otherwise, shall any           *
*  Contributor, or anyone who distributes Covered Software as          *
*  permitted above, be liable to You for any direct, indirect,         *
*  special, incidental, or consequential damages of any character      *
*  including, without limitation, damages for lost profits, loss of    *
*  goodwill, work stoppage, computer failure or malfunction, or any    *
*  and all other commercial damages or losses, even if such party      *
*  shall have been informed of the possibility of such damages. This   *
*  limitation of liability shall not apply to liability for death or   *
*  personal injury resulting from such party's negligence to the       *
*  extent applicable law prohibits such limitation. Some               *
*  jurisdictions do not allow the exclusion or limitation of           *
*  incidental or consequential damages, so this exclusion and          *
*  limitation may not apply to You.                                    *
*                                                                      *
************************************************************************

8. Litigation
-------------

Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.

9. Miscellaneous
----------------

This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.

10. Versions of the License
---------------------------

10.1. New Versions

Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.

10.2. Effect of New Versions

You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.

10.3. Modified Versions

If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).

10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses

If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.

Exhibit A - Source Code Form License Notice
-------------------------------------------

  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/.

If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.

You may add additional accurate notices of copyright ownership.

Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------

  This Source Code Form is "Incompatible With Secondary Licenses", as
  defined by the Mozilla Public License, v. 2.0.

----------------------------------------------------------------------
Following applies to:
./doc/UsingIntelMKL.dox
./doc/UsingIntelMKL.dox
./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
./Eigen/src/Eigenvalues/ComplexSchur_MKL.h
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
./Eigen/src/Eigenvalues/SelfAdjointEigenSolver_MKL.h
./Eigen/src/Eigenvalues/RealSchur_MKL.h
./Eigen/src/Eigenvalues/RealSchur_MKL.h
./Eigen/src/LU/arch/Inverse_SSE.h
./Eigen/src/LU/arch/Inverse_SSE.h
./Eigen/src/LU/PartialPivLU_MKL.h
./Eigen/src/LU/PartialPivLU_MKL.h
./Eigen/src/QR/HouseholderQR_MKL.h
./Eigen/src/QR/HouseholderQR_MKL.h
./Eigen/src/QR/ColPivHouseholderQR_MKL.h
./Eigen/src/QR/ColPivHouseholderQR_MKL.h
./Eigen/src/SVD/JacobiSVD_MKL.h
./Eigen/src/SVD/JacobiSVD_MKL.h
./Eigen/src/PardisoSupport/PardisoSupport.h
./Eigen/src/PardisoSupport/PardisoSupport.h
./Eigen/src/Core/Assign_MKL.h
./Eigen/src/Core/Assign_MKL.h
./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
./Eigen/src/Core/products/SelfadjointMatrixVector_MKL.h
./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
./Eigen/src/Core/products/GeneralMatrixVector_MKL.h
./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
./Eigen/src/Core/products/SelfadjointMatrixMatrix_MKL.h
./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
./Eigen/src/Core/products/TriangularMatrixMatrix_MKL.h
./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
./Eigen/src/Core/products/GeneralMatrixMatrix_MKL.h
./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
./Eigen/src/Core/products/TriangularMatrixVector_MKL.h
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
./Eigen/src/Core/products/GeneralMatrixMatrixTriangular_MKL.h
./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
./Eigen/src/Core/products/TriangularSolverMatrix_MKL.h
./Eigen/src/Core/util/MKL_support.h
./Eigen/src/Core/util/MKL_support.h
./Eigen/src/Cholesky/LLT_MKL.h
./Eigen/src/Cholesky/LLT_MKL.h

/*
 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.
 */

----------------------------------------------------------------------
Following applies to:
./unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h
./unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h
./unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h
./unsupported/Eigen/src/LevenbergMarquardt/LMpar.h
./unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h

Minpack Copyright Notice (1999) University of Chicago.  All rights
reserved

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

1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the following
disclaimer.

2. 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.

3. The end-user documentation included with the
redistribution, if any, must include the following
acknowledgment:

   "This product includes software developed by the
   University of Chicago, as Operator of Argonne National
   Laboratory.

Alternately, this acknowledgment may appear in the software
itself, if and wherever such third-party acknowledgments
normally appear.

4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
BE CORRECTED.

5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGES.


Copyright (c) 1992-2013 The University of Tennessee and The University
                        of Tennessee Research Foundation.  All rights
                        reserved.
Copyright (c) 2000-2013 The University of California Berkeley. All
                        rights reserved.
Copyright (c) 2006-2013 The University of Colorado Denver.  All rights
                        reserved.

Following applies to:
./lapack/*.c

$COPYRIGHT$

Additional copyrights may follow

$HEADER$

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 listed
  in this license in the documentation and/or other materials
  provided with the distribution.

- Neither the name of the copyright holders nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

The copyright holders provide no reassurances that the source code
provided does not infringe any patent, copyright, or any other
intellectual property rights of third parties.  The copyright holders
disclaim any liability to any recipient for claims brought against
recipient by any third party for infringement of that parties
intellectual property rights.

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.

