qilisdk 0.1.8__cp312-cp312-manylinux_2_28_x86_64.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 +635 -0
- qilisdk-0.1.8.dist-info/WHEEL +5 -0
- qilisdk-0.1.8.dist-info/licenses/LICENCE +201 -0
- qilisdk.libs/libgomp-24e2ab19.so.1.0.0 +0 -0
- qilisim_module.cpython-312-x86_64-linux-gnu.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,657 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: qilisdk
|
|
3
|
+
Version: 0.1.8
|
|
4
|
+
Summary: QiliSDK is a Python framework for writing digital and analog quantum algorithms and executing them across multiple quantum backends. Its modular design streamlines the development process and enables easy integration with a variety of quantum platforms.
|
|
5
|
+
Keywords: qilimanjaro,quantum computing,digital quantum computing,analog quantum computing
|
|
6
|
+
Author-Email: Qilimanjaro Quantum Tech <info@qilimanjaro.tech>
|
|
7
|
+
Classifier: Development Status :: 4 - Beta
|
|
8
|
+
Classifier: Environment :: Console
|
|
9
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
10
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering
|
|
12
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
13
|
+
Classifier: Topic :: Scientific/Engineering :: Quantum Computing
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Project-URL: Homepage, https://github.com/qilimanjaro-tech/qilisdk
|
|
21
|
+
Project-URL: Documentation, https://qilimanjaro-tech.github.io/qilisdk/
|
|
22
|
+
Project-URL: Source, https://github.com/qilimanjaro-tech/qilisdk
|
|
23
|
+
Project-URL: Issues, https://github.com/qilimanjaro-tech/qilisdk/issues
|
|
24
|
+
Project-URL: Changelog, https://github.com/qilimanjaro-tech/qilisdk/blob/main/CHANGELOG.md
|
|
25
|
+
Requires-Python: >=3.11
|
|
26
|
+
Requires-Dist: dill>=0.4.1
|
|
27
|
+
Requires-Dist: numpy>=2.4.1
|
|
28
|
+
Requires-Dist: ruamel-yaml>=0.18.16
|
|
29
|
+
Requires-Dist: scipy>=1.16.3; sys_platform == "darwin"
|
|
30
|
+
Requires-Dist: scipy<1.16.3,>=1.15; sys_platform != "darwin"
|
|
31
|
+
Requires-Dist: pydantic>=2.12.3
|
|
32
|
+
Requires-Dist: pydantic-settings>=2.11.0
|
|
33
|
+
Requires-Dist: loguru>=0.7.3
|
|
34
|
+
Requires-Dist: matplotlib>=3.10.8
|
|
35
|
+
Requires-Dist: mkl-service>=2.4.2; sys_platform != "darwin"
|
|
36
|
+
Provides-Extra: cuda
|
|
37
|
+
Requires-Dist: cuda-quantum-cu12==0.13.0; extra == "cuda"
|
|
38
|
+
Provides-Extra: speqtrum
|
|
39
|
+
Requires-Dist: httpx==0.28.1; extra == "speqtrum"
|
|
40
|
+
Requires-Dist: keyring>=25.6.0; extra == "speqtrum"
|
|
41
|
+
Requires-Dist: keyrings-alt>=5.0.2; extra == "speqtrum"
|
|
42
|
+
Provides-Extra: qutip
|
|
43
|
+
Requires-Dist: qutip>=5.2.3; extra == "qutip"
|
|
44
|
+
Requires-Dist: qutip-qip>=0.4.1; extra == "qutip"
|
|
45
|
+
Provides-Extra: openfermion
|
|
46
|
+
Requires-Dist: openfermion>=1.7.1; extra == "openfermion"
|
|
47
|
+
Description-Content-Type: text/markdown
|
|
48
|
+
|
|
49
|
+
# QiliSDK
|
|
50
|
+
|
|
51
|
+
[](https://pypi.org/project/qilisdk/)
|
|
52
|
+
[](https://pypi.org/project/qilisdk/)
|
|
53
|
+
[](https://codecov.io/gh/qilimanjaro-tech/qilisdk)
|
|
54
|
+
[](#license)
|
|
55
|
+
[](https://qilimanjaro-tech.github.io/qilisdk/0.1.7/index.html)
|
|
56
|
+
[](https://doi.org/10.5281/zenodo.17819871)
|
|
57
|
+
|
|
58
|
+
**QiliSDK** is an open-source Python framework for designing and executing **analog, digital, and hybrid quantum algorithms**. Its modular structure unifies circuit-based and Hamiltonian-based workflows within a single API. It provides high-level abstractions for gates, circuits, Hamiltonians, and optimizers, while remaining fully backend-agnostic allowing a seamless switch between CPU, GPU, or QPU execution.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Table of Contents
|
|
63
|
+
- [QiliSDK](#qilisdk)
|
|
64
|
+
- [Table of Contents](#table-of-contents)
|
|
65
|
+
- [Installation](#installation)
|
|
66
|
+
- [Base Installation](#base-installation)
|
|
67
|
+
- [Optional Dependencies: speqtrum, cuda, qutip](#optional-dependencies-speqtrum-cuda-qutip)
|
|
68
|
+
- [Usage](#usage)
|
|
69
|
+
- [Digital Quantum Circuits](#digital-quantum-circuits)
|
|
70
|
+
- [Hamiltonians](#hamiltonians)
|
|
71
|
+
- [Optimizers](#optimizers)
|
|
72
|
+
- [Qilimanjaro SpeQtrum](#qilimanjaro-speqtrum)
|
|
73
|
+
- [Sample a quantum Circuit Using a CUDA-Accelerated Simulator](#sample-a-quantum-circuit-using-a-cuda-accelerated-simulator)
|
|
74
|
+
- [Time Evolution using Qutip](#time-evolution-using-qutip)
|
|
75
|
+
- [Variational Programs](#variational-programs)
|
|
76
|
+
- [Open QASM Serialization](#open-qasm-serialization)
|
|
77
|
+
- [YAML Serialization](#yaml-serialization)
|
|
78
|
+
- [OpenFermion Integration](#openfermion-integration)
|
|
79
|
+
- [Development](#development)
|
|
80
|
+
- [Prerequisites](#prerequisites)
|
|
81
|
+
- [Setup \& Dependency Management](#setup--dependency-management)
|
|
82
|
+
- [Testing](#testing)
|
|
83
|
+
- [Linting \& Formatting](#linting--formatting)
|
|
84
|
+
- [Type Checking](#type-checking)
|
|
85
|
+
- [Changelog Management](#changelog-management)
|
|
86
|
+
- [Contributing](#contributing)
|
|
87
|
+
- [License](#license)
|
|
88
|
+
- [Acknowledgments](#acknowledgments)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Installation
|
|
93
|
+
|
|
94
|
+
QiliSDK is available via [PyPI](https://pypi.org/project/qilisdk/). You can install the core package as well as optional extras for additional features.
|
|
95
|
+
|
|
96
|
+
### Base Installation
|
|
97
|
+
|
|
98
|
+
Install the core QiliSDK package using pip:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
pip install qilisdk
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Optional Dependencies: speqtrum, cuda, qutip
|
|
105
|
+
|
|
106
|
+
QiliSDK supports optional modules for additional functionality:
|
|
107
|
+
|
|
108
|
+
- **SpeQtrum:**
|
|
109
|
+
To interface with Qilimanjaro’s cloud-based quantum services, install the Speqtrum optional dependency:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
pip install qilisdk[speqtrum]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
- **CUDA Accelerated Simulator Backend:**
|
|
116
|
+
For GPU-accelerated quantum simulation using NVIDIA GPUs, install the CUDA extra:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
pip install qilisdk[cuda]
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
- **Qutip Simulator Backend:**
|
|
123
|
+
For GPU-accelerated quantum simulation using NVIDIA GPUs, install the CUDA extra:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
pip install qilisdk[qutip]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Note:** You can also install both optional dependencies using a single command:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
pip install qilisdk[cuda,qutip,speqtrum]
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Usage
|
|
138
|
+
|
|
139
|
+
QiliSDK is designed to simplify both digital and analog quantum computing workflows. This guide provides example code snippets for creating quantum circuits, performing Hamiltonian arithmetic, optimization, simulation on various backends (including CUDA and cloud-based using Speqtrum), and using additional utility functions.
|
|
140
|
+
|
|
141
|
+
### Digital Quantum Circuits
|
|
142
|
+
|
|
143
|
+
Create and simulate quantum circuits with a flexible gate framework. The following example demonstrates how to assemble a circuit, adjust gate parameters:
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
import numpy as np
|
|
147
|
+
from qilisdk.digital import Circuit, H, RX, CNOT, M
|
|
148
|
+
|
|
149
|
+
# Create a circuit with 2 qubits
|
|
150
|
+
circuit = Circuit(2)
|
|
151
|
+
circuit.add(H(0)) # Apply Hadamard on qubit 0
|
|
152
|
+
circuit.add(RX(0, theta=np.pi)) # Apply RX rotation on qubit 0
|
|
153
|
+
circuit.add(CNOT(0, 1)) # Add a CNOT gate between qubit 0 and 1
|
|
154
|
+
|
|
155
|
+
# Retrieve the current gate parameters
|
|
156
|
+
print("Initial parameters:", circuit.get_parameter_values())
|
|
157
|
+
|
|
158
|
+
# Update circuit parameters (e.g., update RX rotation angle)
|
|
159
|
+
circuit.set_parameter_values([2 * np.pi])
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Hamiltonians
|
|
163
|
+
|
|
164
|
+
Utilize the `Hamiltonian` class for Pauli operator arithmetic. Build expressions, iterate through terms:
|
|
165
|
+
|
|
166
|
+
```python
|
|
167
|
+
from qilisdk.analog import Hamiltonian, X, Y, Z, I
|
|
168
|
+
|
|
169
|
+
# Build a Hamiltonian expression using Pauli operators
|
|
170
|
+
H_expr = (Z(0) + X(0)) * (Z(0) - X(0))
|
|
171
|
+
print("Hamiltonian Expression:", H_expr)
|
|
172
|
+
|
|
173
|
+
# Iterate over Hamiltonian terms
|
|
174
|
+
for coeff, ops in H_expr:
|
|
175
|
+
print("Coefficient:", coeff, "Operators:", ops)
|
|
176
|
+
|
|
177
|
+
print("-"*10)
|
|
178
|
+
# export hamiltonians to matrices
|
|
179
|
+
print("Sparse Matrix from Hamiltonian: \n", H_expr.to_matrix()) # sparse matrix
|
|
180
|
+
# the returned matrix is sparse by default to get the dense representation call .toarray()
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
### Optimizers
|
|
185
|
+
|
|
186
|
+
Run optimization routines using the `SciPyOptimizer` and integrate them with a variational algorithm (VQE). In the example below, a simple quadratic cost function is minimized:
|
|
187
|
+
|
|
188
|
+
```python
|
|
189
|
+
from qilisdk.optimizers import SciPyOptimizer
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
def cost_function(params):
|
|
193
|
+
# A simple quadratic cost: minimum at [1, 1, 1]
|
|
194
|
+
return sum((p - 1) ** 2 for p in params)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
# Initialize the optimizer with the BFGS method
|
|
198
|
+
optimizer = SciPyOptimizer(method="BFGS")
|
|
199
|
+
initial_parameters = [0, 0, 0]
|
|
200
|
+
parameter_bounds = [(0, 1), (0, 1), (0, 1)]
|
|
201
|
+
result = optimizer.optimize(cost_function, initial_parameters, parameter_bounds)
|
|
202
|
+
|
|
203
|
+
print("Optimal cost:", result.optimal_cost)
|
|
204
|
+
print("Optimal Parameters:", result.optimal_parameters)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Qilimanjaro SpeQtrum
|
|
208
|
+
|
|
209
|
+
QiliSDK includes a client for interacting with Qilimanjaro's SpeQtrum platform. This module supports secure login and a unified interface for both digital circuits and analog evolutions:
|
|
210
|
+
|
|
211
|
+
```python
|
|
212
|
+
from qilisdk.backends import CudaBackend, CudaSamplingMethod
|
|
213
|
+
from qilisdk.digital import Circuit, H, M
|
|
214
|
+
from qilisdk.functionals import Sampling
|
|
215
|
+
from qilisdk.speqtrum import SpeQtrum
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
# Build a single-qubit circuit
|
|
219
|
+
circuit = Circuit(nqubits=1)
|
|
220
|
+
circuit.add(H(0))
|
|
221
|
+
circuit.add(M(0))
|
|
222
|
+
|
|
223
|
+
# Login to QaaSBackend with credentials (or use environment variables)
|
|
224
|
+
# This only needs to be run once.
|
|
225
|
+
SpeQtrum.login(username="YOUR_USERNAME", apikey="YOUR_APIKEY")
|
|
226
|
+
|
|
227
|
+
# Instantiate QaaSBackend
|
|
228
|
+
client = SpeQtrum()
|
|
229
|
+
|
|
230
|
+
# Execute a pre-built circuit (see Digital Quantum Circuits section)
|
|
231
|
+
# make sure to select the device (you can list available devices using ``client.list_devices()``)
|
|
232
|
+
job_id = client.submit(Sampling(circuit, 1000), device="SELECTED_DEVICE")
|
|
233
|
+
print("job id:", job_id)
|
|
234
|
+
print("job status:", client.get_job(job_id).status)
|
|
235
|
+
print("job result:", client.get_job(job_id).result)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Sample a quantum Circuit Using a CUDA-Accelerated Simulator
|
|
239
|
+
|
|
240
|
+
For users with NVIDIA GPUs, the `CudaBackend` provides GPU-accelerated simulation using several simulation methods. For example, using the TENSOR_NETWORK method:
|
|
241
|
+
|
|
242
|
+
```python
|
|
243
|
+
from qilisdk.backends import CudaBackend, CudaSamplingMethod
|
|
244
|
+
from qilisdk.digital import Circuit, H, M
|
|
245
|
+
from qilisdk.functionals import Sampling
|
|
246
|
+
|
|
247
|
+
# Build a single-qubit circuit
|
|
248
|
+
circuit = Circuit(nqubits=1)
|
|
249
|
+
circuit.add(H(0))
|
|
250
|
+
circuit.add(M(0))
|
|
251
|
+
|
|
252
|
+
# Initialize CudaBackend with the TENSOR_NETWORK simulation method
|
|
253
|
+
backend = CudaBackend(sampling_method=CudaSamplingMethod.TENSOR_NETWORK)
|
|
254
|
+
results = backend.execute(Sampling(circuit))
|
|
255
|
+
print("CUDA Backend Results:", results)
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Time Evolution using Qutip
|
|
259
|
+
|
|
260
|
+
For analog simulations, the `TimeEvolution` and unified `Schedule` classes allow you to simulate time-dependent quantum dynamics. The following example uses callable coefficients defined over an interval to interpolate between two Hamiltonians on a Qutip backend:
|
|
261
|
+
|
|
262
|
+
```python
|
|
263
|
+
from qilisdk.analog import Schedule, X, Z, Y
|
|
264
|
+
from qilisdk.core import ket, tensor_prod
|
|
265
|
+
from qilisdk.backends import QutipBackend
|
|
266
|
+
from qilisdk.functionals import TimeEvolution
|
|
267
|
+
|
|
268
|
+
# Define total time and timestep
|
|
269
|
+
T = 100.0
|
|
270
|
+
dt = 0.1
|
|
271
|
+
nqubits = 1
|
|
272
|
+
|
|
273
|
+
# Define Hamiltonians
|
|
274
|
+
Hx = sum(X(i) for i in range(nqubits))
|
|
275
|
+
Hz = sum(Z(i) for i in range(nqubits))
|
|
276
|
+
|
|
277
|
+
# Build a time‑dependent schedule
|
|
278
|
+
schedule = Schedule(
|
|
279
|
+
hamiltonians={"hx": Hx, "hz": Hz},
|
|
280
|
+
coefficients={
|
|
281
|
+
"hx": {(0.0, T): lambda t: 1 - t / T},
|
|
282
|
+
"hz": {(0.0, T): lambda t: t / T},
|
|
283
|
+
},
|
|
284
|
+
dt=dt,
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
# draw the schedule
|
|
288
|
+
schedule.draw()
|
|
289
|
+
|
|
290
|
+
# Prepare an equal superposition initial state
|
|
291
|
+
initial_state = tensor_prod([(ket(0) - ket(1)).unit() for _ in range(nqubits)]).unit()
|
|
292
|
+
|
|
293
|
+
# Create the TimeEvolution functional
|
|
294
|
+
time_evolution = TimeEvolution(
|
|
295
|
+
schedule=schedule,
|
|
296
|
+
initial_state=initial_state,
|
|
297
|
+
observables=[Z(0), X(0), Y(0)],
|
|
298
|
+
nshots=100,
|
|
299
|
+
store_intermediate_results=False,
|
|
300
|
+
)
|
|
301
|
+
|
|
302
|
+
# Execute on Qutip backend and inspect results
|
|
303
|
+
backend = QutipBackend()
|
|
304
|
+
results = backend.execute(time_evolution)
|
|
305
|
+
print(results)
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### Variational Programs
|
|
309
|
+
|
|
310
|
+
The `VariationalProgram` allows the user to optimized parameterized functionals, including `Sampling` and `TimeEvolution`.
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
Here you find an example of building a Variational Quantum Eigensolver (VQE). To do this we need a circuit ansatz, cost function to optimize, and classical optimizer. Below is an illustrative example that sets up a VQE instance using a hardware-efficient ansatz and the SciPy optimizer:
|
|
314
|
+
|
|
315
|
+
```python
|
|
316
|
+
from qilisdk.digital.gates import U2, CNOT
|
|
317
|
+
from qilisdk.optimizers import SciPyOptimizer
|
|
318
|
+
from qilisdk.core.model import Model
|
|
319
|
+
from qilisdk.core.variables import LEQ, BinaryVariable
|
|
320
|
+
from qilisdk.digital.ansatz import HardwareEfficientAnsatz
|
|
321
|
+
from qilisdk.functionals import VariationalProgram, Sampling
|
|
322
|
+
from qilisdk.backends import CudaBackend
|
|
323
|
+
from qilisdk.cost_functions import ModelCostFunction
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
## Define the model
|
|
327
|
+
|
|
328
|
+
model = Model("Knapsack")
|
|
329
|
+
|
|
330
|
+
values = [2, 3, 7]
|
|
331
|
+
weights = [1, 3, 3]
|
|
332
|
+
max_weight = 4
|
|
333
|
+
b = [BinaryVariable(f"b{i}") for i in range(len(values))]
|
|
334
|
+
|
|
335
|
+
obj = sum(b[i] * values[i] for i in range(len(values)))
|
|
336
|
+
model.set_objective(obj, "obj")
|
|
337
|
+
|
|
338
|
+
con = LEQ(sum(b[i] * weights[i] for i in range(len(weights))), max_weight)
|
|
339
|
+
|
|
340
|
+
model.add_constraint("max_weight", con)
|
|
341
|
+
|
|
342
|
+
## Define the Ansatz:
|
|
343
|
+
nqubits = 3
|
|
344
|
+
ansatz = HardwareEfficientAnsatz(
|
|
345
|
+
nqubits=nqubits, layers=2, connectivity="Linear", structure="grouped", one_qubit_gate=U2, two_qubit_gate=CNOT
|
|
346
|
+
)
|
|
347
|
+
|
|
348
|
+
## Define the Optimizer
|
|
349
|
+
optimizer = SciPyOptimizer(method="Powell")
|
|
350
|
+
|
|
351
|
+
## Build the VQE object
|
|
352
|
+
vqe = VariationalProgram(
|
|
353
|
+
functional=Sampling(ansatz),
|
|
354
|
+
optimizer=optimizer,
|
|
355
|
+
cost_function=ModelCostFunction(model),
|
|
356
|
+
)
|
|
357
|
+
|
|
358
|
+
## Define the Backend
|
|
359
|
+
backend = CudaBackend()
|
|
360
|
+
|
|
361
|
+
## Execute the VQE to find the optimal parameters
|
|
362
|
+
result = backend.execute(vqe)
|
|
363
|
+
|
|
364
|
+
## Sample the circuit using the optimal parameters
|
|
365
|
+
ansatz.set_parameter_values(result.optimal_parameters)
|
|
366
|
+
results = backend.execute(Sampling(ansatz))
|
|
367
|
+
|
|
368
|
+
## Print the probabilities
|
|
369
|
+
print(results.get_probabilities())
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### Open QASM Serialization
|
|
373
|
+
|
|
374
|
+
Serialize and deserialize quantum circuits using Open QASM 2.0 grammar. The utility functions below allow conversion to a QASM string or file and vice versa:
|
|
375
|
+
|
|
376
|
+
```python
|
|
377
|
+
from qilisdk.digital import Circuit, CNOT, RX, H, M
|
|
378
|
+
from qilisdk.utils.openqasm2 import to_qasm2, from_qasm2, to_qasm2_file, from_qasm2_file
|
|
379
|
+
|
|
380
|
+
# Create a sample circuit
|
|
381
|
+
circuit = Circuit(3)
|
|
382
|
+
circuit.add(H(0))
|
|
383
|
+
circuit.add(CNOT(0, 1))
|
|
384
|
+
circuit.add(RX(2, theta=3.1415))
|
|
385
|
+
circuit.add(M(0, 1, 2))
|
|
386
|
+
|
|
387
|
+
print("Initial Circuit:")
|
|
388
|
+
circuit.draw()
|
|
389
|
+
# Serialize to QASM string
|
|
390
|
+
qasm_code = to_qasm2(circuit)
|
|
391
|
+
print("Generated QASM:")
|
|
392
|
+
print(qasm_code)
|
|
393
|
+
|
|
394
|
+
# Deserialize back to a circuit
|
|
395
|
+
reconstructed_circuit = from_qasm2(qasm_code)
|
|
396
|
+
|
|
397
|
+
# Save to and load from a file
|
|
398
|
+
to_qasm2_file(circuit, "circuit.qasm")
|
|
399
|
+
reconstructed_circuit = from_qasm2_file("circuit.qasm")
|
|
400
|
+
print()
|
|
401
|
+
print("Reconstructed Circuit:")
|
|
402
|
+
reconstructed_circuit.draw()
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### YAML Serialization
|
|
408
|
+
|
|
409
|
+
Easily save and restore circuits, Hamiltonians, simulation and execution results, and virtually any other class in YAML format using the provided serialization functions:
|
|
410
|
+
|
|
411
|
+
```python
|
|
412
|
+
from qilisdk.digital import Circuit, H, CNOT, M
|
|
413
|
+
from qilisdk.utils.serialization import serialize, deserialize, serialize_to, deserialize_from
|
|
414
|
+
|
|
415
|
+
circuit = Circuit(2)
|
|
416
|
+
circuit.add(H(0))
|
|
417
|
+
circuit.add(CNOT(0, 1))
|
|
418
|
+
circuit.add(M(0, 1))
|
|
419
|
+
|
|
420
|
+
print("Initial Circuit:")
|
|
421
|
+
circuit.draw()
|
|
422
|
+
|
|
423
|
+
# Serialize a circuit to a YAML string
|
|
424
|
+
yaml_string = serialize(circuit)
|
|
425
|
+
|
|
426
|
+
# Deserialize back into a Circuit object
|
|
427
|
+
restored_circuit = deserialize(yaml_string, cls=Circuit)
|
|
428
|
+
|
|
429
|
+
# Alternatively, work with files:
|
|
430
|
+
serialize_to(circuit, "circuit.yml")
|
|
431
|
+
restored_circuit = deserialize_from("circuit.yml", cls=Circuit)
|
|
432
|
+
print()
|
|
433
|
+
print("Reconstructed Circuit:")
|
|
434
|
+
restored_circuit.draw()
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### OpenFermion Integration
|
|
438
|
+
|
|
439
|
+
`QiliSDK` can translate ``QubitOperator`` objects from ``OpenFermion`` to ``QiliSDK``'s ``Hamiltonian`` Objects and vice versa.
|
|
440
|
+
|
|
441
|
+
This code is available under an optional dependency that can be installed using ``pip install qilisdk[openfermion]``.
|
|
442
|
+
|
|
443
|
+
here is an example of the usage:
|
|
444
|
+
```python
|
|
445
|
+
from openfermion.hamiltonians import jellium_model
|
|
446
|
+
from openfermion.transforms import fourier_transform, jordan_wigner
|
|
447
|
+
from openfermion.utils import Grid
|
|
448
|
+
|
|
449
|
+
from qilisdk.utils.openfermion import openfermion_to_qilisdk, qilisdk_to_openfermion
|
|
450
|
+
|
|
451
|
+
# Let's look at a very small model of jellium in 1D.
|
|
452
|
+
grid = Grid(dimensions=1, length=3, scale=1.0)
|
|
453
|
+
spinless = True
|
|
454
|
+
|
|
455
|
+
# Get the momentum Hamiltonian.
|
|
456
|
+
momentum_hamiltonian = jellium_model(grid, spinless)
|
|
457
|
+
momentum_qubit_operator = jordan_wigner(momentum_hamiltonian)
|
|
458
|
+
momentum_qubit_operator.compress()
|
|
459
|
+
|
|
460
|
+
# Fourier transform the Hamiltonian to the position basis.
|
|
461
|
+
position_hamiltonian = fourier_transform(momentum_hamiltonian, grid, spinless)
|
|
462
|
+
position_qubit_operator = jordan_wigner(position_hamiltonian)
|
|
463
|
+
position_qubit_operator.compress()
|
|
464
|
+
|
|
465
|
+
qilisdk_ham = openfermion_to_qilisdk(position_qubit_operator)
|
|
466
|
+
openfermion_ham = qilisdk_to_openfermion(qilisdk_ham)
|
|
467
|
+
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## Development
|
|
476
|
+
|
|
477
|
+
This section covers how to set up a local development environment for qilisdk, run tests, enforce code style, manage dependencies, and contribute to the project. We use a number of tools to maintain code quality and consistency:
|
|
478
|
+
|
|
479
|
+
- **[uv](https://pypi.org/project/uv/)** for dependency management and packaging.
|
|
480
|
+
- **[ruff](https://docs.astral.sh/ruff/)** for linting and code formatting.
|
|
481
|
+
- **[ty](https://docs.astral.sh/ty/)** for language server and static type checking.
|
|
482
|
+
- **[towncrier](https://github.com/twisted/towncrier)** for automated changelog generation.
|
|
483
|
+
|
|
484
|
+
### Prerequisites
|
|
485
|
+
|
|
486
|
+
- Python **3.10+** (we test against multiple versions, but 3.10 is the minimum for local dev).
|
|
487
|
+
- [Git](https://git-scm.com/) for version control.
|
|
488
|
+
- [uv](https://pypi.org/project/uv/) for dependency management.
|
|
489
|
+
- A C++ compiler and CMake, which can be installed together on Ubuntu/Debian using:
|
|
490
|
+
```bash
|
|
491
|
+
sudo apt install build-essential
|
|
492
|
+
```
|
|
493
|
+
or on Windows via [this guide](https://code.visualstudio.com/docs/cpp/cmake-linux).
|
|
494
|
+
|
|
495
|
+
### Setup & Dependency Management
|
|
496
|
+
|
|
497
|
+
1. **Clone the repository**:
|
|
498
|
+
```bash
|
|
499
|
+
git clone https://github.com/qilimanjaro-tech/qilisdk.git
|
|
500
|
+
cd qilisdk
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
2. **Install [uv](https://pypi.org/project/uv/) globally** (if not already):
|
|
504
|
+
```bash
|
|
505
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
3. **Sync dependencies**:
|
|
509
|
+
- We maintain a `pyproject.toml` listing all dev and optional requirements.
|
|
510
|
+
- To install the dev environment locally, run:
|
|
511
|
+
```bash
|
|
512
|
+
uv sync
|
|
513
|
+
```
|
|
514
|
+
This sets up a virtual environment and installs all pinned dependencies (including `ruff`, `ty`, `towncrier`, etc.).
|
|
515
|
+
- To install extra dependencies such as `CudaBackend`, run:
|
|
516
|
+
```bash
|
|
517
|
+
uv sync --extra cuda -extra ...
|
|
518
|
+
```
|
|
519
|
+
This sets up a virtual environment and installs all pinned dependencies (previous), plus the specified extras.
|
|
520
|
+
you can also install all the optional dependencies and groups by running;
|
|
521
|
+
```bash
|
|
522
|
+
uv sync --all-extras --all-groups
|
|
523
|
+
```
|
|
524
|
+
If you don't want to install QiliSim (normally installed by default):
|
|
525
|
+
```bash
|
|
526
|
+
uv sync -Ccmake.define.qilism=OFF
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
4. **Activate the virtual environment**:
|
|
530
|
+
- uv typically creates and manages its own environment, e.g., `.venv/`.
|
|
531
|
+
- Run:
|
|
532
|
+
```bash
|
|
533
|
+
source .venv/bin/activate
|
|
534
|
+
```
|
|
535
|
+
*(Exact command can vary depending on your shell and OS.)*
|
|
536
|
+
|
|
537
|
+
Now you can run all development commands (tests, linting, etc.) within this environment.
|
|
538
|
+
|
|
539
|
+
### Testing
|
|
540
|
+
|
|
541
|
+
We use **pytest** for the test suite. After syncing dependencies and activating `.venv`, run:
|
|
542
|
+
|
|
543
|
+
```bash
|
|
544
|
+
pytest tests
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
To exercise the CUDA, qutip, and SpeQtrum backend tests, install the optional extras first (e.g., `uv sync --all-extras`).
|
|
548
|
+
|
|
549
|
+
### Linting & Formatting
|
|
550
|
+
|
|
551
|
+
We enforce code style and best practices using [**ruff**](https://beta.ruff.rs/docs/). ruff handles:
|
|
552
|
+
|
|
553
|
+
- Lint checks (similar to flake8, pylint).
|
|
554
|
+
- Formatting (similar to black or isort).
|
|
555
|
+
- Automated fixes for certain issues.
|
|
556
|
+
|
|
557
|
+
To check linting:
|
|
558
|
+
|
|
559
|
+
```bash
|
|
560
|
+
ruff check
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
To automatically fix lint issues (where possible):
|
|
564
|
+
|
|
565
|
+
```bash
|
|
566
|
+
ruff check --fix
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
To automatically format your code:
|
|
570
|
+
|
|
571
|
+
```bash
|
|
572
|
+
ruff format
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
*(We recommend running `ruff check --fix` and `ruff format` before committing any changes.)*
|
|
576
|
+
|
|
577
|
+
To check the C++ code, compile with the debug flag:
|
|
578
|
+
```bash
|
|
579
|
+
uv pip install -v -e ./ -Ccmake.build-type=Debug
|
|
580
|
+
```
|
|
581
|
+
This will run clang-format and clang-tidy as well as a number of C++ compiler flags for debugging. For this you will need clang-tidy and clang-format installed, which can be done on Debian/Ubuntu with:
|
|
582
|
+
```bash
|
|
583
|
+
sudo apt-get install clang-format clang-tidy
|
|
584
|
+
```
|
|
585
|
+
It may also throw an error about not being able to find `omp.h`, if so, try:
|
|
586
|
+
```bash
|
|
587
|
+
sudo apt-get install libomp-dev
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
### Type Checking
|
|
591
|
+
|
|
592
|
+
We use [**ty**](https://docs.astral.sh/ty/) for static type checking. This helps ensure our code is type-safe and maintainable.
|
|
593
|
+
|
|
594
|
+
```bash
|
|
595
|
+
ty check
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
*(We encourage developers to annotate new functions, classes, and methods with type hints.)*
|
|
599
|
+
|
|
600
|
+
### Changelog Management
|
|
601
|
+
|
|
602
|
+
We manage our changelog using [**towncrier**](https://github.com/twisted/towncrier). Instead of editing `CHANGELOG.md` directly, **each pull request** includes a small *news fragment* file in the `changes/` directory describing the user-facing changes.
|
|
603
|
+
|
|
604
|
+
For example, if you create a PR with id #123 adding a new feature, you add:
|
|
605
|
+
```
|
|
606
|
+
changes/123.feature.rst
|
|
607
|
+
```
|
|
608
|
+
Inside this file, you briefly describe the new feature:
|
|
609
|
+
```rst
|
|
610
|
+
Added a new `cool_feature` in the `qilisdk.backends` module.
|
|
611
|
+
```
|
|
612
|
+
Instead of manually creating the file, you can run:
|
|
613
|
+
```bash
|
|
614
|
+
towncrier create --no-edit
|
|
615
|
+
```
|
|
616
|
+
When we cut a new release, we update the version in `pyproject.toml` file and run:
|
|
617
|
+
```bash
|
|
618
|
+
towncrier
|
|
619
|
+
```
|
|
620
|
+
This aggregates all the news fragments into the `CHANGELOG.md` under the new version and removes the used fragments.
|
|
621
|
+
|
|
622
|
+
### Contributing
|
|
623
|
+
|
|
624
|
+
We welcome contributions! Here’s the workflow:
|
|
625
|
+
|
|
626
|
+
1. **Fork** this repository and create a feature branch.
|
|
627
|
+
2. **Write** your changes (code, docs, or tests).
|
|
628
|
+
3. **Add a news fragment** (if applicable) in `changes/` describing the user-facing impact.
|
|
629
|
+
4. **Run** the following checks locally:
|
|
630
|
+
```bash
|
|
631
|
+
ruff check --fix
|
|
632
|
+
ruff format
|
|
633
|
+
ty check
|
|
634
|
+
pytest tests
|
|
635
|
+
```
|
|
636
|
+
5. **Commit** and push your branch to your fork. `pre-commit` will also run the checks automatically.
|
|
637
|
+
6. **Open a Pull Request** against the `main` branch here.
|
|
638
|
+
|
|
639
|
+
Our CI will run tests, linting, and type checks. Please make sure your branch passes these checks before requesting a review.
|
|
640
|
+
|
|
641
|
+
---
|
|
642
|
+
|
|
643
|
+
## License
|
|
644
|
+
|
|
645
|
+
This project is licensed under the [Apache License](LICENSE).
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
649
|
+
## Acknowledgments
|
|
650
|
+
|
|
651
|
+
- Thanks to all the contributors who help develop qilisdk!
|
|
652
|
+
- [uv](https://docs.astral.sh/uv/) for making dependency management smoother.
|
|
653
|
+
- [ruff](https://docs.astral.sh/ruff/), [ty](https://docs.astral.sh/ty/), and [towncrier](https://github.com/twisted/towncrier) for their amazing tooling.
|
|
654
|
+
|
|
655
|
+
---
|
|
656
|
+
|
|
657
|
+
Feel free to open [issues](https://github.com/qilimanjaro-tech/qilisdk/issues) or [pull requests](https://github.com/qilimanjaro-tech/qilisdk/pulls) if you have questions or contributions. Happy coding!
|