qilisdk 0.1.8__cp312-cp312-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- include/eigen3/Eigen/Cholesky +45 -0
- include/eigen3/Eigen/CholmodSupport +48 -0
- include/eigen3/Eigen/Core +384 -0
- include/eigen3/Eigen/Dense +7 -0
- include/eigen3/Eigen/Eigen +2 -0
- include/eigen3/Eigen/Eigenvalues +60 -0
- include/eigen3/Eigen/Geometry +59 -0
- include/eigen3/Eigen/Householder +29 -0
- include/eigen3/Eigen/IterativeLinearSolvers +48 -0
- include/eigen3/Eigen/Jacobi +32 -0
- include/eigen3/Eigen/KLUSupport +41 -0
- include/eigen3/Eigen/LU +47 -0
- include/eigen3/Eigen/MetisSupport +35 -0
- include/eigen3/Eigen/OrderingMethods +70 -0
- include/eigen3/Eigen/PaStiXSupport +49 -0
- include/eigen3/Eigen/PardisoSupport +35 -0
- include/eigen3/Eigen/QR +50 -0
- include/eigen3/Eigen/QtAlignedMalloc +39 -0
- include/eigen3/Eigen/SPQRSupport +34 -0
- include/eigen3/Eigen/SVD +50 -0
- include/eigen3/Eigen/Sparse +34 -0
- include/eigen3/Eigen/SparseCholesky +37 -0
- include/eigen3/Eigen/SparseCore +69 -0
- include/eigen3/Eigen/SparseLU +50 -0
- include/eigen3/Eigen/SparseQR +36 -0
- include/eigen3/Eigen/StdDeque +27 -0
- include/eigen3/Eigen/StdList +26 -0
- include/eigen3/Eigen/StdVector +27 -0
- include/eigen3/Eigen/SuperLUSupport +64 -0
- include/eigen3/Eigen/UmfPackSupport +40 -0
- include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
- include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
- include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
- include/eigen3/Eigen/src/Core/Array.h +417 -0
- include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
- include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
- include/eigen3/Eigen/src/Core/Assign.h +90 -0
- include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
- include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
- include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
- include/eigen3/Eigen/src/Core/Block.h +448 -0
- include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
- include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
- include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
- include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
- include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
- include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
- include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
- include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
- include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
- include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
- include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
- include/eigen3/Eigen/src/Core/Dot.h +318 -0
- include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
- include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
- include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
- include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
- include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
- include/eigen3/Eigen/src/Core/IO.h +258 -0
- include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
- include/eigen3/Eigen/src/Core/Inverse.h +117 -0
- include/eigen3/Eigen/src/Core/Map.h +171 -0
- include/eigen3/Eigen/src/Core/MapBase.h +310 -0
- include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
- include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- include/eigen3/Eigen/src/Core/Matrix.h +565 -0
- include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
- include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
- include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
- include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
- include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
- include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
- include/eigen3/Eigen/src/Core/Product.h +191 -0
- include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
- include/eigen3/Eigen/src/Core/Random.h +218 -0
- include/eigen3/Eigen/src/Core/Redux.h +515 -0
- include/eigen3/Eigen/src/Core/Ref.h +381 -0
- include/eigen3/Eigen/src/Core/Replicate.h +142 -0
- include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
- include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
- include/eigen3/Eigen/src/Core/Reverse.h +217 -0
- include/eigen3/Eigen/src/Core/Select.h +164 -0
- include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
- include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- include/eigen3/Eigen/src/Core/Solve.h +188 -0
- include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
- include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
- include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
- include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
- include/eigen3/Eigen/src/Core/Stride.h +116 -0
- include/eigen3/Eigen/src/Core/Swap.h +68 -0
- include/eigen3/Eigen/src/Core/Transpose.h +464 -0
- include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
- include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
- include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
- include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
- include/eigen3/Eigen/src/Core/Visitor.h +381 -0
- include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
- include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
- include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
- include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
- include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
- include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
- include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
- include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
- include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
- include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
- include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
- include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
- include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
- include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
- include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
- include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
- include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
- include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
- include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
- include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
- include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
- include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
- include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
- include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
- include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
- include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
- include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
- include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
- include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
- include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
- include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
- include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
- include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
- include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
- include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
- include/eigen3/Eigen/src/Householder/Householder.h +176 -0
- include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
- include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- include/eigen3/Eigen/src/LU/Determinant.h +117 -0
- include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
- include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
- include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
- include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
- include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
- include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
- include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
- include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
- include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
- include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
- include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
- include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
- include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
- include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
- include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
- include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
- include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
- include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
- include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
- include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
- include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
- include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
- include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
- include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
- include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
- include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
- include/eigen3/Eigen/src/StlSupport/details.h +84 -0
- include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- include/eigen3/Eigen/src/misc/Image.h +82 -0
- include/eigen3/Eigen/src/misc/Kernel.h +79 -0
- include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
- include/eigen3/Eigen/src/misc/blas.h +440 -0
- include/eigen3/Eigen/src/misc/lapack.h +152 -0
- include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
- include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
- include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
- include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
- include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
- include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
- include/eigen3/signature_of_eigen3_matrix_library +1 -0
- include/eigen3/unsupported/Eigen/AdolcForward +159 -0
- include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
- include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
- include/eigen3/unsupported/Eigen/AutoDiff +46 -0
- include/eigen3/unsupported/Eigen/BVH +95 -0
- include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
- include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
- include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
- include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
- include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
- include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
- include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
- include/eigen3/unsupported/Eigen/EulerAngles +43 -0
- include/eigen3/unsupported/Eigen/FFT +419 -0
- include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
- include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
- include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
- include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
- include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
- include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
- include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
- include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
- include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
- include/eigen3/unsupported/Eigen/Polynomials +137 -0
- include/eigen3/unsupported/Eigen/Skyline +39 -0
- include/eigen3/unsupported/Eigen/SparseExtra +54 -0
- include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
- include/eigen3/unsupported/Eigen/Splines +35 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
- include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
- include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
- include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
- include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
- include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
- include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
- include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
- include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
- include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
- include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
- include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
- include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
- include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
- include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
- include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
- include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
- include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
- include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
- include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
- include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
- include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
- include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
- qilisdk/__init__.py +26 -0
- qilisdk/__init__.pyi +16 -0
- qilisdk/_logging.py +135 -0
- qilisdk/_optionals.py +137 -0
- qilisdk/analog/__init__.py +18 -0
- qilisdk/analog/exceptions.py +17 -0
- qilisdk/analog/hamiltonian.py +1068 -0
- qilisdk/analog/schedule.py +483 -0
- qilisdk/backends/__init__.py +46 -0
- qilisdk/backends/__init__.pyi +18 -0
- qilisdk/backends/backend.py +132 -0
- qilisdk/backends/cuda_backend.py +752 -0
- qilisdk/backends/qilisim.py +148 -0
- qilisdk/backends/qutip_backend.py +504 -0
- qilisdk/core/__init__.py +70 -0
- qilisdk/core/exceptions.py +29 -0
- qilisdk/core/interpolator.py +640 -0
- qilisdk/core/model.py +1012 -0
- qilisdk/core/parameterizable.py +133 -0
- qilisdk/core/qtensor.py +684 -0
- qilisdk/core/result.py +18 -0
- qilisdk/core/types.py +49 -0
- qilisdk/core/variables.py +2035 -0
- qilisdk/cost_functions/__init__.py +18 -0
- qilisdk/cost_functions/cost_function.py +77 -0
- qilisdk/cost_functions/model_cost_function.py +152 -0
- qilisdk/cost_functions/observable_cost_function.py +112 -0
- qilisdk/digital/__init__.py +67 -0
- qilisdk/digital/ansatz.py +382 -0
- qilisdk/digital/circuit.py +371 -0
- qilisdk/digital/circuit_transpiler.py +46 -0
- qilisdk/digital/circuit_transpiler_passes/__init__.py +18 -0
- qilisdk/digital/circuit_transpiler_passes/circuit_transpiler_pass.py +36 -0
- qilisdk/digital/circuit_transpiler_passes/decompose_multi_controlled_gates_pass.py +220 -0
- qilisdk/digital/circuit_transpiler_passes/numeric_helpers.py +82 -0
- qilisdk/digital/exceptions.py +37 -0
- qilisdk/digital/gates.py +1308 -0
- qilisdk/experiments/__init__.py +36 -0
- qilisdk/experiments/experiment_functional.py +212 -0
- qilisdk/experiments/experiment_result.py +247 -0
- qilisdk/functionals/__init__.py +29 -0
- qilisdk/functionals/functional.py +39 -0
- qilisdk/functionals/functional_result.py +18 -0
- qilisdk/functionals/sampling.py +89 -0
- qilisdk/functionals/sampling_result.py +92 -0
- qilisdk/functionals/time_evolution.py +111 -0
- qilisdk/functionals/time_evolution_result.py +91 -0
- qilisdk/functionals/variational_program.py +138 -0
- qilisdk/functionals/variational_program_result.py +69 -0
- qilisdk/logging_config.yaml +16 -0
- qilisdk/noise/__init__.py +56 -0
- qilisdk/noise/amplitude_damping.py +71 -0
- qilisdk/noise/bit_flip.py +45 -0
- qilisdk/noise/dephasing.py +69 -0
- qilisdk/noise/depolarizing.py +44 -0
- qilisdk/noise/gaussian_perturbation.py +69 -0
- qilisdk/noise/noise.py +20 -0
- qilisdk/noise/noise_abc.py +31 -0
- qilisdk/noise/noise_config.py +77 -0
- qilisdk/noise/noise_model.py +259 -0
- qilisdk/noise/offset_perturbation.py +39 -0
- qilisdk/noise/parameter_perturbation.py +45 -0
- qilisdk/noise/pauli_channel.py +115 -0
- qilisdk/noise/phase_flip.py +45 -0
- qilisdk/noise/protocols.py +107 -0
- qilisdk/noise/readout_assignment.py +60 -0
- qilisdk/noise/representations.py +149 -0
- qilisdk/noise/utils.py +90 -0
- qilisdk/optimizers/__init__.py +17 -0
- qilisdk/optimizers/optimizer.py +39 -0
- qilisdk/optimizers/optimizer_result.py +101 -0
- qilisdk/optimizers/scipy_optimizer.py +118 -0
- qilisdk/py.typed +0 -0
- qilisdk/settings.py +103 -0
- qilisdk/speqtrum/__init__.py +41 -0
- qilisdk/speqtrum/__init__.pyi +18 -0
- qilisdk/speqtrum/keyring.py +58 -0
- qilisdk/speqtrum/speqtrum.py +817 -0
- qilisdk/speqtrum/speqtrum_models.py +560 -0
- qilisdk/utils/__init__.py +13 -0
- qilisdk/utils/openfermion/__init__.py +38 -0
- qilisdk/utils/openfermion/__init__.pyi +17 -0
- qilisdk/utils/openfermion/openfermion.py +45 -0
- qilisdk/utils/openqasm2.py +215 -0
- qilisdk/utils/serialization.py +128 -0
- qilisdk/utils/trotterization/__init__.py +18 -0
- qilisdk/utils/trotterization/trotterization.py +127 -0
- qilisdk/utils/visualization/PlusJakartaSans-SemiBold.ttf +0 -0
- qilisdk/utils/visualization/__init__.py +24 -0
- qilisdk/utils/visualization/circuit_renderers.py +781 -0
- qilisdk/utils/visualization/schedule_renderers.py +175 -0
- qilisdk/utils/visualization/style.py +154 -0
- qilisdk/utils/visualization/themes.py +76 -0
- qilisdk/yaml.py +260 -0
- qilisdk-0.1.8.dist-info/METADATA +657 -0
- qilisdk-0.1.8.dist-info/RECORD +634 -0
- qilisdk-0.1.8.dist-info/WHEEL +5 -0
- qilisdk-0.1.8.dist-info/licenses/LICENCE +201 -0
- qilisim_module.cpython-312-darwin.so +0 -0
- share/eigen3/cmake/Eigen3Config.cmake +37 -0
- share/eigen3/cmake/Eigen3ConfigVersion.cmake +65 -0
- share/eigen3/cmake/Eigen3Targets.cmake +106 -0
- share/eigen3/cmake/UseEigen3.cmake +6 -0
- share/pkgconfig/eigen3.pc +9 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Copyright 2025 Qilimanjaro Quantum Tech
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
import heapq
|
|
15
|
+
import operator
|
|
16
|
+
from pprint import pformat
|
|
17
|
+
|
|
18
|
+
from qilisdk.functionals.functional_result import FunctionalResult
|
|
19
|
+
from qilisdk.yaml import yaml
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@yaml.register_class
|
|
23
|
+
class SamplingResult(FunctionalResult):
|
|
24
|
+
"""Store shot counts and derived probabilities for a sampling experiment."""
|
|
25
|
+
|
|
26
|
+
def __init__(self, nshots: int, samples: dict[str, int]) -> None:
|
|
27
|
+
"""
|
|
28
|
+
Args:
|
|
29
|
+
nshots (int): Total number of circuit evaluations.
|
|
30
|
+
samples (dict[str, int]): Mapping from bitstring to observed counts.
|
|
31
|
+
|
|
32
|
+
Raises:
|
|
33
|
+
ValueError: If ``samples`` is empty or contains bitstrings with different length.
|
|
34
|
+
"""
|
|
35
|
+
self._nshots = nshots
|
|
36
|
+
self._samples = samples
|
|
37
|
+
|
|
38
|
+
# Ensure samples is not empty and is correct.
|
|
39
|
+
if not samples:
|
|
40
|
+
raise ValueError("The samples dictionary is empty.")
|
|
41
|
+
bitstrings = list(samples.keys())
|
|
42
|
+
nqubits = len(bitstrings[0])
|
|
43
|
+
if not all(len(bitstring) == nqubits for bitstring in bitstrings):
|
|
44
|
+
raise ValueError("Not all bitstring keys have the same length.")
|
|
45
|
+
|
|
46
|
+
# Assign nqubits to attribute
|
|
47
|
+
self._nqubits = nqubits
|
|
48
|
+
|
|
49
|
+
# Calculate probabilities
|
|
50
|
+
self._probabilities = {
|
|
51
|
+
bitstring: counts / self._nshots if self._nshots > 0 else 0.0 for bitstring, counts in self._samples.items()
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def nshots(self) -> int:
|
|
56
|
+
"""Total number of repetitions used to gather samples."""
|
|
57
|
+
return self._nshots
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def nqubits(self) -> int:
|
|
61
|
+
"""Number of qubits inferred from the sample bitstrings."""
|
|
62
|
+
return self._nqubits
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def samples(self) -> dict[str, int]:
|
|
66
|
+
"""Return a copy of the raw sample counts."""
|
|
67
|
+
return dict(self._samples)
|
|
68
|
+
|
|
69
|
+
@property
|
|
70
|
+
def probabilities(self) -> dict[str, float]:
|
|
71
|
+
"""Return a copy of the estimated probability distribution."""
|
|
72
|
+
return dict(self._probabilities)
|
|
73
|
+
|
|
74
|
+
def get_probability(self, bitstring: str) -> float:
|
|
75
|
+
"""Return the probability associated with ``bitstring`` (0.0 if unseen)."""
|
|
76
|
+
return self._probabilities.get(bitstring, 0.0)
|
|
77
|
+
|
|
78
|
+
def get_probabilities(self, n: int | None = None) -> list[tuple[str, float]]:
|
|
79
|
+
"""
|
|
80
|
+
Args:
|
|
81
|
+
n (int | None): Maximum number of items to return. Defaults to all outcomes.
|
|
82
|
+
|
|
83
|
+
Returns:
|
|
84
|
+
list[tuple[str, float]]: the ``n`` most probable bitstrings in descending probability order.
|
|
85
|
+
"""
|
|
86
|
+
if n is None:
|
|
87
|
+
n = len(self._probabilities)
|
|
88
|
+
return heapq.nlargest(n, self._probabilities.items(), key=operator.itemgetter(1))
|
|
89
|
+
|
|
90
|
+
def __repr__(self) -> str:
|
|
91
|
+
class_name = self.__class__.__name__
|
|
92
|
+
return f"{class_name}(\n nshots={self.nshots},\n samples={pformat(self.samples)}\n)"
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Copyright 2025 Qilimanjaro Quantum Tech
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
from typing import ClassVar
|
|
15
|
+
|
|
16
|
+
from qilisdk.analog.hamiltonian import Hamiltonian, PauliOperator
|
|
17
|
+
from qilisdk.analog.schedule import Schedule
|
|
18
|
+
from qilisdk.core.qtensor import QTensor
|
|
19
|
+
from qilisdk.core.types import RealNumber
|
|
20
|
+
from qilisdk.core.variables import ComparisonTerm
|
|
21
|
+
from qilisdk.functionals.functional import PrimitiveFunctional
|
|
22
|
+
from qilisdk.functionals.time_evolution_result import TimeEvolutionResult
|
|
23
|
+
from qilisdk.yaml import yaml
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@yaml.register_class
|
|
27
|
+
class TimeEvolution(PrimitiveFunctional[TimeEvolutionResult]):
|
|
28
|
+
"""
|
|
29
|
+
Simulate the dynamics induced by a time-dependent Hamiltonian schedule.
|
|
30
|
+
|
|
31
|
+
Example:
|
|
32
|
+
.. code-block:: python
|
|
33
|
+
|
|
34
|
+
from qilisdk.analog import Schedule, Hamiltonian, Z
|
|
35
|
+
from qilisdk.core import ket
|
|
36
|
+
from qilisdk.functionals.time_evolution import TimeEvolution
|
|
37
|
+
|
|
38
|
+
h0 = Z(0)
|
|
39
|
+
schedule = Schedule(hamiltonians={"h0": h0}, total_time=10.0)
|
|
40
|
+
functional = TimeEvolution(schedule, observables=[Z(0), X(0)], initial_state=ket(0))
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
result_type: ClassVar[type[TimeEvolutionResult]] = TimeEvolutionResult
|
|
44
|
+
|
|
45
|
+
def __init__(
|
|
46
|
+
self,
|
|
47
|
+
schedule: Schedule,
|
|
48
|
+
observables: list[PauliOperator | Hamiltonian],
|
|
49
|
+
initial_state: QTensor,
|
|
50
|
+
nshots: int = 1000,
|
|
51
|
+
store_intermediate_results: bool = False,
|
|
52
|
+
) -> None:
|
|
53
|
+
"""
|
|
54
|
+
Args:
|
|
55
|
+
schedule (Schedule): Annealing or control schedule describing the Hamiltonian evolution.
|
|
56
|
+
observables (list[PauliOperator | Hamiltonian]): Observables measured at the end of the evolution.
|
|
57
|
+
initial_state (QTensor): Quantum state used as the simulation starting point.
|
|
58
|
+
nshots (int, optional): Number of executions for statistical estimation. Defaults to 1000.
|
|
59
|
+
store_intermediate_results (bool, optional): Keep intermediate states if produced by the backend. Defaults to False.
|
|
60
|
+
|
|
61
|
+
Raises:
|
|
62
|
+
ValueError: if the number of qubits of the initial state doesn't match the number of qubits in the schedule.
|
|
63
|
+
"""
|
|
64
|
+
super().__init__()
|
|
65
|
+
self.initial_state = initial_state
|
|
66
|
+
self.schedule = schedule
|
|
67
|
+
self.observables = observables
|
|
68
|
+
self.nshots = nshots
|
|
69
|
+
self.store_intermediate_results = store_intermediate_results
|
|
70
|
+
|
|
71
|
+
if initial_state.nqubits != schedule.nqubits:
|
|
72
|
+
raise ValueError(
|
|
73
|
+
f"The initial state provided acts on {initial_state.nqubits} qubits while the schedule acts on {schedule.nqubits} qubits"
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
def nparameters(self) -> int:
|
|
78
|
+
"""Return the number of schedule parameters."""
|
|
79
|
+
return self.schedule.nparameters
|
|
80
|
+
|
|
81
|
+
def get_parameters(self) -> dict[str, RealNumber]:
|
|
82
|
+
"""Return the schedule parameters and their current value."""
|
|
83
|
+
return self.schedule.get_parameters()
|
|
84
|
+
|
|
85
|
+
def set_parameters(self, parameters: dict[str, RealNumber]) -> None:
|
|
86
|
+
"""Update a subset of schedule parameters."""
|
|
87
|
+
self.schedule.set_parameters(parameters)
|
|
88
|
+
|
|
89
|
+
def get_parameter_names(self) -> list[str]:
|
|
90
|
+
"""Return order-stable parameter labels from the schedule."""
|
|
91
|
+
return self.schedule.get_parameter_names()
|
|
92
|
+
|
|
93
|
+
def get_parameter_values(self) -> list[RealNumber]:
|
|
94
|
+
"""Return parameter values in the order provided by ``get_parameter_names``."""
|
|
95
|
+
return self.schedule.get_parameter_values()
|
|
96
|
+
|
|
97
|
+
def set_parameter_values(self, values: list[float]) -> None:
|
|
98
|
+
"""Assign all schedule parameters according to ``get_parameter_names`` order."""
|
|
99
|
+
self.schedule.set_parameter_values(values)
|
|
100
|
+
|
|
101
|
+
def get_parameter_bounds(self) -> dict[str, tuple[float, float]]:
|
|
102
|
+
"""Return current bounds for schedule parameters."""
|
|
103
|
+
return self.schedule.get_parameter_bounds()
|
|
104
|
+
|
|
105
|
+
def set_parameter_bounds(self, ranges: dict[str, tuple[float, float]]) -> None:
|
|
106
|
+
"""Update bounds for selected schedule parameters."""
|
|
107
|
+
self.schedule.set_parameter_bounds(ranges)
|
|
108
|
+
|
|
109
|
+
def get_constraints(self) -> list[ComparisonTerm]:
|
|
110
|
+
"""Return the parameter constraints defined within the underlying schedule."""
|
|
111
|
+
return self.schedule.get_constraints()
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Copyright 2025 Qilimanjaro Quantum Tech
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
from pprint import pformat
|
|
15
|
+
|
|
16
|
+
import numpy as np
|
|
17
|
+
|
|
18
|
+
from qilisdk.core.model import Model
|
|
19
|
+
from qilisdk.core.qtensor import QTensor
|
|
20
|
+
from qilisdk.functionals.functional_result import FunctionalResult
|
|
21
|
+
from qilisdk.settings import get_settings
|
|
22
|
+
from qilisdk.yaml import yaml
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _complex_dtype() -> np.dtype:
|
|
26
|
+
return get_settings().complex_precision.dtype
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@yaml.register_class
|
|
30
|
+
class TimeEvolutionResult(FunctionalResult):
|
|
31
|
+
"""Container for expectation values and states produced by a time-evolution simulation."""
|
|
32
|
+
|
|
33
|
+
def __init__(
|
|
34
|
+
self,
|
|
35
|
+
final_expected_values: np.ndarray | None = None,
|
|
36
|
+
expected_values: np.ndarray | None = None,
|
|
37
|
+
final_state: QTensor | None = None,
|
|
38
|
+
intermediate_states: list[QTensor] | None = None,
|
|
39
|
+
) -> None:
|
|
40
|
+
"""
|
|
41
|
+
Args:
|
|
42
|
+
final_expected_values (np.ndarray | None, optional): Expectation values evaluated at the end of the evolution.
|
|
43
|
+
expected_values (np.ndarray | None, optional): Time series of expectation values, if recorded.
|
|
44
|
+
final_state (QTensor | None, optional): Final quantum state associated with the evolution.
|
|
45
|
+
intermediate_states (list[QTensor] | None, optional): Intermediate states captured during the evolution.
|
|
46
|
+
"""
|
|
47
|
+
super().__init__()
|
|
48
|
+
self._final_expected_values = (
|
|
49
|
+
final_expected_values if final_expected_values is not None else np.array([], dtype=_complex_dtype())
|
|
50
|
+
)
|
|
51
|
+
self._expected_values = expected_values if expected_values is not None else np.array([], dtype=_complex_dtype())
|
|
52
|
+
self._final_state = final_state
|
|
53
|
+
self._intermediate_states = intermediate_states or []
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
def final_expected_values(self) -> np.ndarray:
|
|
57
|
+
"""Final expectation values measured at the end of the evolution."""
|
|
58
|
+
return self._final_expected_values
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def expected_values(self) -> np.ndarray:
|
|
62
|
+
"""Expectation values tracked over the course of the evolution."""
|
|
63
|
+
return self._expected_values
|
|
64
|
+
|
|
65
|
+
@property
|
|
66
|
+
def final_state(self) -> QTensor | None:
|
|
67
|
+
"""Final quantum state if provided by the backend."""
|
|
68
|
+
return self._final_state
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def intermediate_states(self) -> list[QTensor]:
|
|
72
|
+
"""List of intermediate quantum states captured during the simulation."""
|
|
73
|
+
return self._intermediate_states
|
|
74
|
+
|
|
75
|
+
def __repr__(self) -> str:
|
|
76
|
+
class_name = self.__class__.__name__
|
|
77
|
+
return (
|
|
78
|
+
f"{class_name}(\n"
|
|
79
|
+
+ f" final_expected_values={pformat(self.final_expected_values)},\n"
|
|
80
|
+
+ (f" expected_values={pformat(self.expected_values)}\n" if len(self.expected_values) > 0 else "")
|
|
81
|
+
+ (f" final_state={pformat(self.final_state)}\n" if self.final_state is not None else "")
|
|
82
|
+
+ (
|
|
83
|
+
f" intermediate_states={pformat(self.intermediate_states)}\n"
|
|
84
|
+
if len(self.intermediate_states) > 0
|
|
85
|
+
else ""
|
|
86
|
+
)
|
|
87
|
+
+ ")"
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
def compute_cost(self, cost_model: Model) -> float:
|
|
91
|
+
raise NotImplementedError
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Copyright 2025 Qilimanjaro Quantum Tech
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import functools
|
|
17
|
+
import operator
|
|
18
|
+
from typing import TYPE_CHECKING, ClassVar, Generic, TypeVar
|
|
19
|
+
|
|
20
|
+
from qilisdk.core.variables import BaseVariable, Parameter
|
|
21
|
+
from qilisdk.functionals.functional import Functional, PrimitiveFunctional
|
|
22
|
+
from qilisdk.functionals.functional_result import FunctionalResult
|
|
23
|
+
from qilisdk.functionals.variational_program_result import VariationalProgramResult
|
|
24
|
+
from qilisdk.yaml import yaml
|
|
25
|
+
|
|
26
|
+
if TYPE_CHECKING:
|
|
27
|
+
from qilisdk.core.variables import ComparisonTerm
|
|
28
|
+
from qilisdk.cost_functions.cost_function import CostFunction
|
|
29
|
+
from qilisdk.optimizers.optimizer import Optimizer
|
|
30
|
+
|
|
31
|
+
TFunctional = TypeVar("TFunctional", bound=PrimitiveFunctional[FunctionalResult])
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@yaml.register_class
|
|
35
|
+
class VariationalProgram(Functional, Generic[TFunctional]):
|
|
36
|
+
"""
|
|
37
|
+
Bundle a parameterized functional, optimizer, and cost function into a variational loop.
|
|
38
|
+
|
|
39
|
+
Example:
|
|
40
|
+
.. code-block:: python
|
|
41
|
+
|
|
42
|
+
program = VariationalProgram(functional, optimizer, cost_function)
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
result_type: ClassVar[type[FunctionalResult]] = VariationalProgramResult
|
|
46
|
+
|
|
47
|
+
def __init__(
|
|
48
|
+
self,
|
|
49
|
+
functional: TFunctional,
|
|
50
|
+
optimizer: Optimizer,
|
|
51
|
+
cost_function: CostFunction,
|
|
52
|
+
store_intermediate_results: bool = False,
|
|
53
|
+
parameter_constraints: list[ComparisonTerm] | None = None,
|
|
54
|
+
) -> None:
|
|
55
|
+
"""
|
|
56
|
+
Args:
|
|
57
|
+
functional (PrimitiveFunctional): Parameterized functional to optimize.
|
|
58
|
+
optimizer (Optimizer): Optimization routine controlling parameter updates.
|
|
59
|
+
cost_function (CostFunction): Metric used to evaluate functional executions.
|
|
60
|
+
store_intermediate_results (bool, optional): Persist intermediate executions if requested by the optimizer.
|
|
61
|
+
parameter_constraints (list[ComparisonTerm] | None): Optional constraints on parameter values that are
|
|
62
|
+
enforced before optimizer updates are applied.
|
|
63
|
+
|
|
64
|
+
Raises:
|
|
65
|
+
ValueError: if the user applies constraints on parameters that are not present in the variational program.
|
|
66
|
+
Or the constraints contain Objects that are not parameters.
|
|
67
|
+
"""
|
|
68
|
+
self._functional = functional
|
|
69
|
+
self._optimizer = optimizer
|
|
70
|
+
self._cost_function = cost_function
|
|
71
|
+
self._store_intermediate_results = store_intermediate_results
|
|
72
|
+
parameter_constraints = parameter_constraints or []
|
|
73
|
+
functional_params = self._functional.get_parameters()
|
|
74
|
+
for p in parameter_constraints:
|
|
75
|
+
if not p.lhs.is_parameterized_term() or not p.rhs.is_parameterized_term():
|
|
76
|
+
raise ValueError("Only parameters are allowed to be constrained.")
|
|
77
|
+
variables = p.variables()
|
|
78
|
+
for v in variables:
|
|
79
|
+
if v.label not in functional_params:
|
|
80
|
+
raise ValueError(
|
|
81
|
+
f"Writing a constraint on the parameter ({v}) that is not present in the variational program "
|
|
82
|
+
)
|
|
83
|
+
self._parameter_constraints = parameter_constraints
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
def functional(self) -> TFunctional:
|
|
87
|
+
"""Return the wrapped functional that will be optimised."""
|
|
88
|
+
return self._functional
|
|
89
|
+
|
|
90
|
+
@property
|
|
91
|
+
def optimizer(self) -> Optimizer:
|
|
92
|
+
"""Return the optimizer responsible for parameter updates."""
|
|
93
|
+
return self._optimizer
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
def cost_function(self) -> CostFunction:
|
|
97
|
+
"""Return the cost function applied to functional results."""
|
|
98
|
+
return self._cost_function
|
|
99
|
+
|
|
100
|
+
@property
|
|
101
|
+
def store_intermediate_results(self) -> bool:
|
|
102
|
+
"""Indicate whether intermediate execution data should be stored."""
|
|
103
|
+
return self._store_intermediate_results
|
|
104
|
+
|
|
105
|
+
def get_constraints(self) -> list[ComparisonTerm]:
|
|
106
|
+
"""Return variational-program-level constraints plus those from the underlying functional."""
|
|
107
|
+
return self._parameter_constraints + self._functional.get_constraints()
|
|
108
|
+
|
|
109
|
+
def _check_constraints(self, parameters: dict[str, float]) -> list[bool]:
|
|
110
|
+
"""Evaluate each constraint with a proposed parameter set.
|
|
111
|
+
|
|
112
|
+
Returns:
|
|
113
|
+
list[bool]: list of booleans that correspond to whether each constraint is satisfied or not.
|
|
114
|
+
|
|
115
|
+
Raises:
|
|
116
|
+
ValueError: if the parameter is not defined in the underlying functional.
|
|
117
|
+
"""
|
|
118
|
+
params: list[BaseVariable] = functools.reduce(
|
|
119
|
+
operator.iadd, (con.variables() for con in self.get_constraints()), []
|
|
120
|
+
)
|
|
121
|
+
params = list(set(params))
|
|
122
|
+
if any(not isinstance(p, Parameter) for p in params):
|
|
123
|
+
raise ValueError("Only Parameters are allowed.")
|
|
124
|
+
params_dict = {p.label: p for p in params}
|
|
125
|
+
evaluate_dict: dict[BaseVariable, float] = {}
|
|
126
|
+
functional_params = self._functional.get_parameters()
|
|
127
|
+
for label, value in parameters.items():
|
|
128
|
+
if label not in functional_params:
|
|
129
|
+
raise ValueError(f"Parameter {label} is not defined in the functional.")
|
|
130
|
+
if label in params_dict:
|
|
131
|
+
evaluate_dict[params_dict[label]] = value
|
|
132
|
+
constraints = self.get_constraints()
|
|
133
|
+
return [con.evaluate(evaluate_dict) for con in constraints]
|
|
134
|
+
|
|
135
|
+
def check_parameter_constraints(self, parameters: dict[str, float]) -> int:
|
|
136
|
+
"""Return a penalty-like score (0 if valid) indicating how many constraints are violated."""
|
|
137
|
+
const_list = self._check_constraints(parameters)
|
|
138
|
+
return sum((100 if not con else 0) for con in const_list)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Copyright 2025 Qilimanjaro Quantum Tech
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
from pprint import pformat
|
|
17
|
+
from typing import Generic, TypeVar
|
|
18
|
+
|
|
19
|
+
from qilisdk.functionals.functional_result import FunctionalResult
|
|
20
|
+
from qilisdk.optimizers.optimizer_result import OptimizerIntermediateResult, OptimizerResult
|
|
21
|
+
from qilisdk.yaml import yaml
|
|
22
|
+
|
|
23
|
+
TResult_co = TypeVar("TResult_co", bound=FunctionalResult, covariant=True)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@yaml.register_class
|
|
27
|
+
class VariationalProgramResult(FunctionalResult, Generic[TResult_co]):
|
|
28
|
+
"""Aggregate the optimizer summary and best functional result from a variational run."""
|
|
29
|
+
|
|
30
|
+
def __init__(self, optimizer_result: OptimizerResult, result: TResult_co) -> None:
|
|
31
|
+
"""
|
|
32
|
+
Args:
|
|
33
|
+
optimizer_result (OptimizerResult): Summary produced by the optimiser.
|
|
34
|
+
result (TResult_co): Functional result evaluated at the final parameters.
|
|
35
|
+
"""
|
|
36
|
+
super().__init__()
|
|
37
|
+
self._optimizer_result = optimizer_result
|
|
38
|
+
self._result = result
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def optimal_cost(self) -> float:
|
|
42
|
+
"""Best cost reported by the optimiser."""
|
|
43
|
+
return self._optimizer_result.optimal_cost
|
|
44
|
+
|
|
45
|
+
@property
|
|
46
|
+
def optimal_execution_results(self) -> TResult_co:
|
|
47
|
+
"""Return the functional result evaluated at the optimal parameters."""
|
|
48
|
+
return self._result
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
def optimal_parameters(self) -> list[float]:
|
|
52
|
+
"""Optimised parameter values."""
|
|
53
|
+
return self._optimizer_result.optimal_parameters
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
def intermediate_results(self) -> list[OptimizerIntermediateResult]:
|
|
57
|
+
"""Sequence of intermediate optimiser snapshots, if recorded."""
|
|
58
|
+
return self._optimizer_result.intermediate_results
|
|
59
|
+
|
|
60
|
+
def __repr__(self) -> str:
|
|
61
|
+
class_name = self.__class__.__name__
|
|
62
|
+
return (
|
|
63
|
+
f"{class_name}(\n"
|
|
64
|
+
f" Optimal Cost={self.optimal_cost},\n"
|
|
65
|
+
f" Optimal Parameters={pformat(self.optimal_parameters)},\n"
|
|
66
|
+
f" Intermediate Results={pformat(self.intermediate_results)},\n"
|
|
67
|
+
f" Optimal Results={pformat(self.optimal_execution_results)}\n"
|
|
68
|
+
")"
|
|
69
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
sinks:
|
|
2
|
+
- sink: stderr
|
|
3
|
+
level: WARNING
|
|
4
|
+
format: "<fg #7f1cdb>QiliSDK</> | <green>{time:YYYY-MM-DD at HH:mm:ss}</green> | <lvl>{level}</> | <lvl>{level.icon} {message}</>"
|
|
5
|
+
filter: qilisdk
|
|
6
|
+
colorize: true
|
|
7
|
+
|
|
8
|
+
intercept_libraries:
|
|
9
|
+
- name: httpx
|
|
10
|
+
level: ERROR
|
|
11
|
+
- name: httpcore
|
|
12
|
+
level: ERROR
|
|
13
|
+
- name: keyring
|
|
14
|
+
level: ERROR
|
|
15
|
+
- name: matplotlib
|
|
16
|
+
level: ERROR
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Copyright 2026 Qilimanjaro Quantum Tech
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
from .amplitude_damping import AmplitudeDamping
|
|
16
|
+
from .bit_flip import BitFlip
|
|
17
|
+
from .dephasing import Dephasing
|
|
18
|
+
from .depolarizing import Depolarizing
|
|
19
|
+
from .gaussian_perturbation import GaussianPerturbation
|
|
20
|
+
from .noise import Noise
|
|
21
|
+
from .noise_config import NoiseConfig
|
|
22
|
+
from .noise_model import NoiseModel
|
|
23
|
+
from .offset_perturbation import OffsetPerturbation
|
|
24
|
+
from .parameter_perturbation import ParameterPerturbation
|
|
25
|
+
from .pauli_channel import PauliChannel
|
|
26
|
+
from .phase_flip import PhaseFlip
|
|
27
|
+
from .protocols import (
|
|
28
|
+
SupportsStaticKraus,
|
|
29
|
+
SupportsStaticLindblad,
|
|
30
|
+
SupportsTimeDerivedKraus,
|
|
31
|
+
SupportsTimeDerivedLindblad,
|
|
32
|
+
)
|
|
33
|
+
from .readout_assignment import ReadoutAssignment
|
|
34
|
+
from .representations import KrausChannel, LindbladGenerator
|
|
35
|
+
|
|
36
|
+
__all__ = [
|
|
37
|
+
"AmplitudeDamping",
|
|
38
|
+
"BitFlip",
|
|
39
|
+
"Dephasing",
|
|
40
|
+
"Depolarizing",
|
|
41
|
+
"GaussianPerturbation",
|
|
42
|
+
"KrausChannel",
|
|
43
|
+
"LindbladGenerator",
|
|
44
|
+
"Noise",
|
|
45
|
+
"NoiseConfig",
|
|
46
|
+
"NoiseModel",
|
|
47
|
+
"OffsetPerturbation",
|
|
48
|
+
"ParameterPerturbation",
|
|
49
|
+
"PauliChannel",
|
|
50
|
+
"PhaseFlip",
|
|
51
|
+
"ReadoutAssignment",
|
|
52
|
+
"SupportsStaticKraus",
|
|
53
|
+
"SupportsStaticLindblad",
|
|
54
|
+
"SupportsTimeDerivedKraus",
|
|
55
|
+
"SupportsTimeDerivedLindblad",
|
|
56
|
+
]
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Copyright 2026 Qilimanjaro Quantum Tech
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import numpy as np
|
|
17
|
+
|
|
18
|
+
from qilisdk.core import QTensor
|
|
19
|
+
|
|
20
|
+
from .noise import Noise
|
|
21
|
+
from .protocols import AttachmentScope, SupportsStaticLindblad, SupportsTimeDerivedKraus
|
|
22
|
+
from .representations import KrausChannel, LindbladGenerator
|
|
23
|
+
from .utils import _sigma_minus
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class AmplitudeDamping(Noise, SupportsTimeDerivedKraus, SupportsStaticLindblad):
|
|
27
|
+
"""Amplitude damping noise model for energy relaxation."""
|
|
28
|
+
|
|
29
|
+
def __init__(self, *, t1: float) -> None:
|
|
30
|
+
"""Args:
|
|
31
|
+
t1 (float): Relaxation time constant (must be > 0).
|
|
32
|
+
|
|
33
|
+
Raises:
|
|
34
|
+
ValueError: If t1 is not positive.
|
|
35
|
+
"""
|
|
36
|
+
if t1 <= 0:
|
|
37
|
+
raise ValueError("t1 must be > 0.")
|
|
38
|
+
self._t1 = float(t1)
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def t1(self) -> float:
|
|
42
|
+
"""Return the relaxation time constant.
|
|
43
|
+
|
|
44
|
+
Returns:
|
|
45
|
+
float: The t1 value.
|
|
46
|
+
"""
|
|
47
|
+
return self._t1
|
|
48
|
+
|
|
49
|
+
def as_lindblad(self) -> LindbladGenerator:
|
|
50
|
+
gamma = 1.0 / self._t1
|
|
51
|
+
L = np.sqrt(gamma) * _sigma_minus()
|
|
52
|
+
return LindbladGenerator([QTensor(L)])
|
|
53
|
+
|
|
54
|
+
def as_kraus_from_duration(self, *, duration: float) -> KrausChannel:
|
|
55
|
+
if duration < 0:
|
|
56
|
+
raise ValueError("duration must be >= 0.")
|
|
57
|
+
gamma = 1.0 - float(np.exp(-duration / self._t1))
|
|
58
|
+
K0 = np.array([[1.0, 0.0], [0.0, np.sqrt(1.0 - gamma)]], dtype=complex)
|
|
59
|
+
K1 = np.array([[0.0, np.sqrt(gamma)], [0.0, 0.0]], dtype=complex)
|
|
60
|
+
return KrausChannel(operators=[QTensor(K0), QTensor(K1)])
|
|
61
|
+
|
|
62
|
+
@classmethod
|
|
63
|
+
def allowed_scopes(cls) -> frozenset[AttachmentScope]:
|
|
64
|
+
return frozenset(
|
|
65
|
+
{
|
|
66
|
+
AttachmentScope.GLOBAL,
|
|
67
|
+
AttachmentScope.PER_QUBIT,
|
|
68
|
+
AttachmentScope.PER_GATE_TYPE,
|
|
69
|
+
AttachmentScope.PER_GATE_TYPE_PER_QUBIT,
|
|
70
|
+
}
|
|
71
|
+
)
|