qilisdk 0.1.8__cp313-cp313-win32.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 +633 -0
- qilisdk-0.1.8.dist-info/WHEEL +5 -0
- qilisdk-0.1.8.dist-info/licenses/LICENCE +201 -0
- qilisim_module.cp313-win32.pyd +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
|
@@ -0,0 +1,175 @@
|
|
|
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 __future__ import annotations
|
|
17
|
+
|
|
18
|
+
from typing import TYPE_CHECKING
|
|
19
|
+
|
|
20
|
+
import matplotlib.pyplot as plt
|
|
21
|
+
from matplotlib.figure import Figure
|
|
22
|
+
|
|
23
|
+
if TYPE_CHECKING:
|
|
24
|
+
from qilisdk.analog.schedule import Schedule
|
|
25
|
+
from qilisdk.core.types import Number
|
|
26
|
+
|
|
27
|
+
from qilisdk.utils.visualization.style import ScheduleStyle
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class MatplotlibScheduleRenderer:
|
|
31
|
+
"""Render a Schedule using matplotlib, with theme support."""
|
|
32
|
+
|
|
33
|
+
def __init__(
|
|
34
|
+
self,
|
|
35
|
+
schedule: Schedule,
|
|
36
|
+
ax: plt.Axes | None = None,
|
|
37
|
+
*,
|
|
38
|
+
style: ScheduleStyle | None = None,
|
|
39
|
+
) -> None:
|
|
40
|
+
self.schedule = schedule
|
|
41
|
+
self.style = style or ScheduleStyle()
|
|
42
|
+
self.ax = ax or self._make_axes(self.style.dpi, self.style)
|
|
43
|
+
|
|
44
|
+
def plot(self, ax: plt.Axes | None = None) -> None:
|
|
45
|
+
"""
|
|
46
|
+
Plot the schedule coefficients for each Hamiltonian over time.
|
|
47
|
+
Args:
|
|
48
|
+
ax (plt.Axes | None): The matplotlib axes to plot on. Default is None.
|
|
49
|
+
"""
|
|
50
|
+
style = self.style
|
|
51
|
+
theme = style.theme
|
|
52
|
+
facecolor = theme.background
|
|
53
|
+
title_color = theme.on_background
|
|
54
|
+
label_color = theme.on_background
|
|
55
|
+
legend_facecolor = theme.surface
|
|
56
|
+
legend_edgecolor = theme.border
|
|
57
|
+
tick_color = theme.on_background
|
|
58
|
+
|
|
59
|
+
# Set axes and figure background to theme
|
|
60
|
+
self.ax.set_facecolor(facecolor)
|
|
61
|
+
if hasattr(ax, "figure"):
|
|
62
|
+
self.ax.figure.set_facecolor(facecolor)
|
|
63
|
+
plots: dict[str, list[Number]] = {}
|
|
64
|
+
hamiltonians = self.schedule.hamiltonians
|
|
65
|
+
times = self.schedule.tlist
|
|
66
|
+
for h in hamiltonians:
|
|
67
|
+
coef = self.schedule.coefficients[h]
|
|
68
|
+
plots[h] = [coef[float(t)] for t in times]
|
|
69
|
+
|
|
70
|
+
# Generate gradient colors between primary and accent
|
|
71
|
+
def hex_to_rgb(hex_color: str) -> tuple[int, ...]:
|
|
72
|
+
hex_color = hex_color.lstrip("#")
|
|
73
|
+
return tuple(int(hex_color[i : i + 2], 16) for i in (0, 2, 4))
|
|
74
|
+
|
|
75
|
+
def rgb_to_hex(rgb: tuple[int, ...]) -> str:
|
|
76
|
+
return "#{:02x}{:02x}{:02x}".format(*rgb)
|
|
77
|
+
|
|
78
|
+
def gradient_colors(start_hex: str, end_hex: str, n: int) -> list[str]:
|
|
79
|
+
start_rgb = hex_to_rgb(start_hex)
|
|
80
|
+
end_rgb = hex_to_rgb(end_hex)
|
|
81
|
+
colors = []
|
|
82
|
+
for i in range(n):
|
|
83
|
+
ratio = i / max(n - 1, 1)
|
|
84
|
+
rgb = tuple(int(start_rgb[j] + (end_rgb[j] - start_rgb[j]) * ratio) for j in range(3))
|
|
85
|
+
colors.append(rgb_to_hex(rgb))
|
|
86
|
+
return colors
|
|
87
|
+
|
|
88
|
+
n_hams = len(hamiltonians)
|
|
89
|
+
grad_colors = gradient_colors(theme.primary, theme.accent, n_hams)
|
|
90
|
+
|
|
91
|
+
for idx, h in enumerate(hamiltonians):
|
|
92
|
+
line_style = style.line_styles.get(h, style.default_line_style)
|
|
93
|
+
marker = style.marker
|
|
94
|
+
# If no color specified, use gradient color
|
|
95
|
+
if "color" not in line_style:
|
|
96
|
+
color = grad_colors[idx]
|
|
97
|
+
line_style = {**line_style, "color": color}
|
|
98
|
+
self.ax.plot(
|
|
99
|
+
times,
|
|
100
|
+
plots[h],
|
|
101
|
+
label=h,
|
|
102
|
+
marker=marker,
|
|
103
|
+
markersize=style.marker_size,
|
|
104
|
+
**line_style, # ty:ignore[invalid-argument-type]
|
|
105
|
+
)
|
|
106
|
+
if style.grid:
|
|
107
|
+
grid_style = dict(style.grid_style)
|
|
108
|
+
if "color" not in grid_style:
|
|
109
|
+
grid_style["color"] = theme.surface_muted
|
|
110
|
+
self.ax.grid(**grid_style)
|
|
111
|
+
leg = self.ax.legend(
|
|
112
|
+
loc=style.legend_loc,
|
|
113
|
+
fontsize=style.legend_fontsize,
|
|
114
|
+
frameon=style.legend_frame,
|
|
115
|
+
facecolor=legend_facecolor,
|
|
116
|
+
edgecolor=legend_edgecolor,
|
|
117
|
+
)
|
|
118
|
+
# Set legend text color to match theme text color
|
|
119
|
+
if leg:
|
|
120
|
+
for text in leg.get_texts():
|
|
121
|
+
text.set_color(title_color)
|
|
122
|
+
self.ax.set_title(
|
|
123
|
+
self.style.title or "Schedule Plot",
|
|
124
|
+
fontsize=style.title_fontsize,
|
|
125
|
+
color=title_color,
|
|
126
|
+
fontweight=style.fontweight,
|
|
127
|
+
family=style.fontfamily,
|
|
128
|
+
)
|
|
129
|
+
self.ax.set_xlabel(
|
|
130
|
+
style.xlabel,
|
|
131
|
+
fontsize=style.label_fontsize,
|
|
132
|
+
color=label_color,
|
|
133
|
+
fontweight=style.fontweight,
|
|
134
|
+
family=style.fontfamily,
|
|
135
|
+
)
|
|
136
|
+
self.ax.set_ylabel(
|
|
137
|
+
style.ylabel,
|
|
138
|
+
fontsize=style.label_fontsize,
|
|
139
|
+
color=label_color,
|
|
140
|
+
fontweight=style.fontweight,
|
|
141
|
+
family=style.fontfamily,
|
|
142
|
+
)
|
|
143
|
+
self.ax.tick_params(axis="x", labelsize=style.xtick_fontsize, colors=tick_color)
|
|
144
|
+
self.ax.tick_params(axis="y", labelsize=style.ytick_fontsize, colors=tick_color)
|
|
145
|
+
if style.tight_layout:
|
|
146
|
+
plt.tight_layout()
|
|
147
|
+
plt.draw()
|
|
148
|
+
|
|
149
|
+
def save(self, filename: str) -> None: # thin wrapper
|
|
150
|
+
"""Save current figure to disk.
|
|
151
|
+
|
|
152
|
+
Args:
|
|
153
|
+
filename: Path to save the figure (e.g., 'circuit.png').
|
|
154
|
+
"""
|
|
155
|
+
if isinstance(self.ax.figure, Figure):
|
|
156
|
+
self.ax.figure.savefig(filename, bbox_inches="tight")
|
|
157
|
+
|
|
158
|
+
def show(self) -> None: # noqa: PLR6301
|
|
159
|
+
"""Show the current figure."""
|
|
160
|
+
|
|
161
|
+
plt.show()
|
|
162
|
+
|
|
163
|
+
@staticmethod
|
|
164
|
+
def _make_axes(dpi: int, style: ScheduleStyle) -> plt.Axes:
|
|
165
|
+
"""
|
|
166
|
+
Create a new figure and axes with the given DPI.
|
|
167
|
+
|
|
168
|
+
Args:
|
|
169
|
+
style: Optional style configuration (for DPI).
|
|
170
|
+
|
|
171
|
+
Returns:
|
|
172
|
+
A newly created Matplotlib Axes.
|
|
173
|
+
"""
|
|
174
|
+
_, ax = plt.subplots(figsize=style.figsize, dpi=dpi or style.dpi, facecolor=style.theme.background)
|
|
175
|
+
return ax
|
|
@@ -0,0 +1,154 @@
|
|
|
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
|
+
from pathlib import Path
|
|
16
|
+
from typing import Any, Literal, Optional
|
|
17
|
+
|
|
18
|
+
import matplotlib.font_manager as fm
|
|
19
|
+
from pydantic import BaseModel, Field
|
|
20
|
+
|
|
21
|
+
from .themes import Theme, light
|
|
22
|
+
|
|
23
|
+
_DEFAULT_FONT_PATH = Path(__file__).parent / "PlusJakartaSans-SemiBold.ttf"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class Style(BaseModel):
|
|
27
|
+
# --- FontProperties-mapped fields (mirror matplotlib.font_manager.FontProperties) ---
|
|
28
|
+
# If `fontfname` exists, it takes precedence and loads the exact TTF.
|
|
29
|
+
theme: Theme = Field(default=light, description="Colour theme.")
|
|
30
|
+
fontfamily: str | list[str] | None = Field(
|
|
31
|
+
default=None, description="Font family name(s), e.g. 'Outfit' or ['Outfit', 'DejaVu Sans']."
|
|
32
|
+
)
|
|
33
|
+
fontstyle: Literal["normal", "italic", "oblique"] = Field(
|
|
34
|
+
default="normal", description="Font style: 'normal', 'italic', or 'oblique'."
|
|
35
|
+
)
|
|
36
|
+
fontvariant: Literal["normal", "small-caps"] = Field(
|
|
37
|
+
default="normal", description="Font variant: typically 'normal' or 'small-caps'."
|
|
38
|
+
)
|
|
39
|
+
fontweight: str | int = Field(
|
|
40
|
+
default="normal", description="Font weight: 'normal', 'bold', 'light', or numeric (100-900)."
|
|
41
|
+
)
|
|
42
|
+
fontstretch: str | int = Field(
|
|
43
|
+
default="normal", description="Width/condensation: 'ultra-condensed'..'ultra-expanded' or numeric."
|
|
44
|
+
)
|
|
45
|
+
fontsize: float | str = Field(
|
|
46
|
+
default=10, description="Font size in pt or keywords like 'small', 'medium', 'large'."
|
|
47
|
+
)
|
|
48
|
+
fontfname: str | None = Field(
|
|
49
|
+
default=str(_DEFAULT_FONT_PATH), description="Absolute path to the TTF/OTF file. If present, overrides family."
|
|
50
|
+
)
|
|
51
|
+
math_fontfamily: str | None = Field(default=None, description="Math text family, e.g. 'dejavusans', 'cm', or None.")
|
|
52
|
+
dpi: int = Field(default=150, description="Figure DPI.")
|
|
53
|
+
title: str | None = Field(default=None, description="Figure title.")
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
def font(self) -> fm.FontProperties:
|
|
57
|
+
"""
|
|
58
|
+
Construct a Matplotlib FontProperties from the configured fields.
|
|
59
|
+
If `fontfname` points to a real file, it is used (and overrides family).
|
|
60
|
+
"""
|
|
61
|
+
return fm.FontProperties(
|
|
62
|
+
family=self.fontfamily,
|
|
63
|
+
style=self.fontstyle,
|
|
64
|
+
variant=self.fontvariant,
|
|
65
|
+
weight=self.fontweight,
|
|
66
|
+
stretch=self.fontstretch,
|
|
67
|
+
size=self.fontsize,
|
|
68
|
+
fname=self.fontfname,
|
|
69
|
+
math_fontfamily=self.math_fontfamily,
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class CircuitStyle(Style):
|
|
74
|
+
"""All visual parameters controlling the appearance of a circuit plot."""
|
|
75
|
+
|
|
76
|
+
end_wire_ext: int = Field(default=2, description="Extra space after last layer.")
|
|
77
|
+
padding: float = Field(default=0.3, description="Padding around drawing (inches).")
|
|
78
|
+
gate_margin: float = Field(default=0.15, description="Left/right margin per gate.")
|
|
79
|
+
wire_sep: float = Field(default=0.5, description="Vertical separation of wires.")
|
|
80
|
+
layer_sep: float = Field(default=0.5, description="Horizontal separation of layers.")
|
|
81
|
+
gate_pad: float = Field(default=0.05, description="Padding around gate text.")
|
|
82
|
+
label_pad: float = Field(default=0.1, description="Padding before wire label.")
|
|
83
|
+
bulge: str = Field(default="round", description="Box-style for gate rectangles.")
|
|
84
|
+
align_layer: bool = Field(default=True, description="Align layers across wires.")
|
|
85
|
+
|
|
86
|
+
wire_label: list[Any] | None = Field(default=None, description="Custom wire labels.")
|
|
87
|
+
start_pad: float = Field(
|
|
88
|
+
default=0.1, description="Minimum spacing (inches) before the first layer so wire labels fit."
|
|
89
|
+
)
|
|
90
|
+
min_gate_h: float = Field(default=0.2, description="Minimum gate box height (inches).")
|
|
91
|
+
min_gate_w: float = Field(default=0.2, description="Minimum gate box width (inches).")
|
|
92
|
+
connector_r: float = Field(
|
|
93
|
+
default=0.01, description="Radius (inches) of small connector dots on multi-target gates."
|
|
94
|
+
)
|
|
95
|
+
target_r: float = Field(default=0.12, description="Radius (inches) of ⊕ target circle and SWAP half-width.")
|
|
96
|
+
control_r: float = Field(default=0.05, description="Radius (inches) of a filled control dot.")
|
|
97
|
+
|
|
98
|
+
layout: Literal["normal", "compact"] = Field(
|
|
99
|
+
default="normal",
|
|
100
|
+
description="If 'compact' minimizes the layers to highlight circuit depth, if 'normal' conserves the order of the circuit",
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class ScheduleStyle(Style):
|
|
105
|
+
"""
|
|
106
|
+
Customization options for matplotlib schedule plots, with theme support.
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
# Figure and axes
|
|
110
|
+
figsize: Optional[tuple] = Field(default=(8, 5), description="Figure size in inches (width, height).")
|
|
111
|
+
grid: bool = Field(default=True, description="Whether to show grid lines on the plot.")
|
|
112
|
+
grid_style: dict[str, Any] = Field(
|
|
113
|
+
default_factory=lambda: {"linestyle": "--", "color": "#e0e0e0", "alpha": 0.7},
|
|
114
|
+
description="Style dictionary for grid lines (linestyle, color, alpha, etc.).",
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
# Title and labels
|
|
118
|
+
title_fontsize: int = Field(default=16, description="Font size for the plot title.")
|
|
119
|
+
xlabel: str = Field(default="time", description="Label for the x-axis.")
|
|
120
|
+
ylabel: str = Field(default="coefficient value", description="Label for the y-axis.")
|
|
121
|
+
label_fontsize: int = Field(default=14, description="Font size for axis labels.")
|
|
122
|
+
|
|
123
|
+
# Legend
|
|
124
|
+
legend_loc: str = Field(
|
|
125
|
+
default="best", description="Location of the legend (matplotlib string, e.g. 'best', 'upper right')."
|
|
126
|
+
)
|
|
127
|
+
legend_fontsize: int = Field(default=12, description="Font size for legend text.")
|
|
128
|
+
legend_frame: bool = Field(default=True, description="Whether to draw a frame around the legend.")
|
|
129
|
+
|
|
130
|
+
# Line style
|
|
131
|
+
line_styles: dict[str, dict[str, Any]] = Field(
|
|
132
|
+
default_factory=dict,
|
|
133
|
+
description="Custom line style dictionary for each Hamiltonian (e.g. {label: {color, linestyle, linewidth}}).",
|
|
134
|
+
)
|
|
135
|
+
default_line_style: dict[str, Any] = Field(
|
|
136
|
+
default_factory=lambda: {"linestyle": "-", "linewidth": 2},
|
|
137
|
+
description="Default line style for Hamiltonians not in line_styles.",
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
# Marker style
|
|
141
|
+
marker: Optional[str] = Field(
|
|
142
|
+
default=None, description="Matplotlib marker style for data points (e.g. 'o', 's', None for no marker)."
|
|
143
|
+
)
|
|
144
|
+
marker_size: int = Field(default=6, description="Size of markers if used.")
|
|
145
|
+
|
|
146
|
+
# Ticks
|
|
147
|
+
xtick_fontsize: int = Field(default=12, description="Font size for x-axis tick labels.")
|
|
148
|
+
ytick_fontsize: int = Field(default=12, description="Font size for y-axis tick labels.")
|
|
149
|
+
tick_color: Optional[str] = Field(
|
|
150
|
+
default=None, description="Color for tick labels (None uses theme.on_background)."
|
|
151
|
+
)
|
|
152
|
+
|
|
153
|
+
# Misc
|
|
154
|
+
tight_layout: bool = Field(default=True, description="Whether to use matplotlib's tight_layout for figure spacing.")
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
from typing import Final
|
|
16
|
+
|
|
17
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
18
|
+
|
|
19
|
+
WHITE: Final[str] = "#FFFFFF"
|
|
20
|
+
BLACK: Final[str] = "#000000"
|
|
21
|
+
|
|
22
|
+
# Neutral ramp (light → dark)
|
|
23
|
+
NEUTRAL_050: Final[str] = "#F0F0F0"
|
|
24
|
+
NEUTRAL_100: Final[str] = "#DCDCDC"
|
|
25
|
+
NEUTRAL_200: Final[str] = "#CACACA"
|
|
26
|
+
NEUTRAL_600: Final[str] = "#7A7A7A"
|
|
27
|
+
NEUTRAL_800: Final[str] = "#2F2F2F"
|
|
28
|
+
NEUTRAL_900: Final[str] = "#1F1F1F"
|
|
29
|
+
|
|
30
|
+
# Brand colours
|
|
31
|
+
VIOLET: Final[str] = "#5E56A1"
|
|
32
|
+
MAGENTA: Final[str] = "#AC115F"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class Theme(BaseModel):
|
|
36
|
+
"""Colour Theme."""
|
|
37
|
+
|
|
38
|
+
model_config = ConfigDict(frozen=True)
|
|
39
|
+
|
|
40
|
+
background: str = Field(description="Canvas background.")
|
|
41
|
+
on_background: str = Field(description="Default text/line color on background.")
|
|
42
|
+
surface: str = Field(description="Raised surface/panel fill.")
|
|
43
|
+
on_surface: str = Field(description="Text/line color on surface.")
|
|
44
|
+
surface_muted: str = Field(description="Muted lines on background (wires/grid).")
|
|
45
|
+
border: str = Field(description="Neutral stroke/border color.")
|
|
46
|
+
primary: str = Field(description="Primary/brand fill.")
|
|
47
|
+
on_primary: str = Field(description="Text/icons over primary.")
|
|
48
|
+
accent: str = Field(description="Accent/highlight color.")
|
|
49
|
+
on_accent: str = Field(description="Text/icons over accent.")
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
light = Theme(
|
|
53
|
+
background=WHITE,
|
|
54
|
+
on_background=BLACK,
|
|
55
|
+
surface=NEUTRAL_100,
|
|
56
|
+
on_surface=BLACK,
|
|
57
|
+
surface_muted=NEUTRAL_050,
|
|
58
|
+
border=NEUTRAL_200,
|
|
59
|
+
primary=VIOLET,
|
|
60
|
+
on_primary=WHITE,
|
|
61
|
+
accent=MAGENTA,
|
|
62
|
+
on_accent=WHITE,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
dark = Theme(
|
|
66
|
+
background=BLACK,
|
|
67
|
+
on_background=WHITE,
|
|
68
|
+
surface=NEUTRAL_800,
|
|
69
|
+
on_surface=BLACK,
|
|
70
|
+
surface_muted=NEUTRAL_900,
|
|
71
|
+
border=NEUTRAL_600,
|
|
72
|
+
primary=MAGENTA,
|
|
73
|
+
on_primary=WHITE,
|
|
74
|
+
accent=VIOLET,
|
|
75
|
+
on_accent=WHITE,
|
|
76
|
+
)
|
qilisdk/yaml.py
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
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
|
+
# ruff: noqa: ANN001, ANN201 DOC201, S403
|
|
16
|
+
|
|
17
|
+
import base64
|
|
18
|
+
import types
|
|
19
|
+
from collections import defaultdict, deque
|
|
20
|
+
|
|
21
|
+
import numpy as np
|
|
22
|
+
from dill import dumps, loads
|
|
23
|
+
from pydantic import BaseModel
|
|
24
|
+
from ruamel.yaml import YAML
|
|
25
|
+
from scipy import sparse
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def csr_representer(representer, data: sparse.csr_matrix):
|
|
29
|
+
"""Representer for CSR matrix."""
|
|
30
|
+
value = {
|
|
31
|
+
"data": data.data.tolist(),
|
|
32
|
+
"indices": data.indices.tolist(),
|
|
33
|
+
"indptr": data.indptr.tolist(),
|
|
34
|
+
"shape": data.shape,
|
|
35
|
+
}
|
|
36
|
+
return representer.represent_mapping("!csr_matrix", value)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def csr_constructor(constructor, node):
|
|
40
|
+
"""Constructor for CSR matrix."""
|
|
41
|
+
mapping = constructor.construct_mapping(node, deep=True)
|
|
42
|
+
return sparse.csr_matrix(
|
|
43
|
+
(mapping["data"], mapping["indices"], mapping["indptr"]),
|
|
44
|
+
shape=tuple(mapping["shape"]),
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def ndarray_representer(representer, data):
|
|
49
|
+
"""Representer for ndarray"""
|
|
50
|
+
value = {"dtype": str(data.dtype), "shape": data.shape, "data": data.ravel().tolist()}
|
|
51
|
+
return representer.represent_mapping("!ndarray", value)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def ndarray_constructor(constructor, node):
|
|
55
|
+
"""Constructor for ndarray"""
|
|
56
|
+
mapping = constructor.construct_mapping(node, deep=True)
|
|
57
|
+
dtype = np.dtype(mapping["dtype"])
|
|
58
|
+
shape = tuple(mapping["shape"])
|
|
59
|
+
data = mapping["data"]
|
|
60
|
+
return np.array(data, dtype=dtype).reshape(shape)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def np_scalar_representer(representer, data: np.generic):
|
|
64
|
+
"""Represent any NumPy scalar (e.g. np.int64, np.float32)."""
|
|
65
|
+
return representer.represent_mapping(
|
|
66
|
+
"!np_scalar",
|
|
67
|
+
{"dtype": str(data.dtype), "value": data.item()},
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def np_scalar_constructor(constructor, node):
|
|
72
|
+
"""Reconstruct a NumPy scalar."""
|
|
73
|
+
mapping = constructor.construct_mapping(node, deep=True)
|
|
74
|
+
dtype = np.dtype(mapping["dtype"])
|
|
75
|
+
return dtype.type(mapping["value"])
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def defaultdict_representer(representer, data: defaultdict):
|
|
79
|
+
"""
|
|
80
|
+
Represent a defaultdict by serializing its default_factory
|
|
81
|
+
(as module+qualname) plus its items dict.
|
|
82
|
+
"""
|
|
83
|
+
factory = data.default_factory
|
|
84
|
+
factory_name = (
|
|
85
|
+
f"{factory.__module__}.{factory.__qualname__}"
|
|
86
|
+
if factory is not None and hasattr(factory, "__qualname__")
|
|
87
|
+
else None
|
|
88
|
+
)
|
|
89
|
+
return representer.represent_mapping(
|
|
90
|
+
"!defaultdict",
|
|
91
|
+
{"default_factory": factory_name, "items": dict(data)},
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def defaultdict_constructor(constructor, node):
|
|
96
|
+
"""Reconstruct a defaultdict, restoring its factory and contents."""
|
|
97
|
+
mapping = constructor.construct_mapping(node, deep=True)
|
|
98
|
+
fname = mapping["default_factory"]
|
|
99
|
+
if fname is None:
|
|
100
|
+
factory = None
|
|
101
|
+
else:
|
|
102
|
+
module, qual = fname.rsplit(".", 1)
|
|
103
|
+
mod = __import__(module, fromlist=[qual])
|
|
104
|
+
factory = getattr(mod, qual)
|
|
105
|
+
dd = defaultdict(factory)
|
|
106
|
+
dd.update(mapping["items"])
|
|
107
|
+
return dd
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def function_representer(representer, data):
|
|
111
|
+
"""Represent a non-lambda function by serializing it."""
|
|
112
|
+
serialized_function = base64.b64encode(dumps(data, recurse=True)).decode("utf-8")
|
|
113
|
+
return representer.represent_scalar("!function", serialized_function)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
def function_constructor(constructor, node):
|
|
117
|
+
"""Reconstruct a function from the serialized data."""
|
|
118
|
+
serialized_function = base64.b64decode(node.value)
|
|
119
|
+
return loads(serialized_function) # noqa: S301
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def lambda_representer(representer, data):
|
|
123
|
+
"""Represent a lambda function by serializing its code."""
|
|
124
|
+
serialized_lambda = base64.b64encode(dumps(data, recurse=True)).decode("utf-8")
|
|
125
|
+
return representer.represent_scalar("!lambda", serialized_lambda)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def lambda_constructor(constructor, node):
|
|
129
|
+
"""Reconstruct a lambda function from the serialized data."""
|
|
130
|
+
# Decode the base64-encoded string and load the lambda function
|
|
131
|
+
serialized_lambda = base64.b64decode(node.value)
|
|
132
|
+
return loads(serialized_lambda) # noqa: S301
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
def pydantic_model_representer(representer, data):
|
|
136
|
+
"""Representer for Pydantic Models."""
|
|
137
|
+
value = {"type": f"{data.__class__.__module__}.{data.__class__.__name__}", "data": data.model_dump()}
|
|
138
|
+
return representer.represent_mapping("!PydanticModel", value)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def pydantic_model_constructor(constructor, node):
|
|
142
|
+
"""Constructor for Pydantic Models."""
|
|
143
|
+
mapping = constructor.construct_mapping(node, deep=True)
|
|
144
|
+
model_type_str = mapping["type"]
|
|
145
|
+
data = mapping["data"]
|
|
146
|
+
module_name, class_name = model_type_str.rsplit(".", 1)
|
|
147
|
+
mod = __import__(module_name, fromlist=[class_name])
|
|
148
|
+
model_cls = getattr(mod, class_name)
|
|
149
|
+
return model_cls.model_validate(data)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def complex_representer(representer, data: complex):
|
|
153
|
+
value = {"real": data.real, "imag": data.imag}
|
|
154
|
+
return representer.represent_mapping("!complex", value)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def complex_constructor(constructor, node):
|
|
158
|
+
mapping = constructor.construct_mapping(node, deep=True)
|
|
159
|
+
return complex(mapping["real"], mapping["imag"])
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
def tuple_representer(representer, data: tuple):
|
|
163
|
+
"""Representer for built-in Python tuple."""
|
|
164
|
+
# Emit a tuple as a YAML sequence with tag !tuple
|
|
165
|
+
return representer.represent_sequence("!tuple", list(data))
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
def tuple_constructor(constructor, node):
|
|
169
|
+
"""Constructor for built-in Python tuple."""
|
|
170
|
+
seq = constructor.construct_sequence(node, deep=True)
|
|
171
|
+
return tuple(seq)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
def type_representer(representer, data: type):
|
|
175
|
+
"""
|
|
176
|
+
Represent any Python class/type by its import path.
|
|
177
|
+
E.g. datetime.datetime → 'datetime.datetime'
|
|
178
|
+
"""
|
|
179
|
+
path = f"{data.__module__}.{data.__qualname__}"
|
|
180
|
+
# emit as a simple scalar under !type
|
|
181
|
+
return representer.represent_scalar("!type", path)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def type_constructor(constructor, node):
|
|
185
|
+
"""
|
|
186
|
+
Reconstruct a class/type from its import path.
|
|
187
|
+
"""
|
|
188
|
+
path = node.value # e.g. "datetime.datetime"
|
|
189
|
+
module_name, qualname = path.rsplit(".", 1)
|
|
190
|
+
mod = __import__(module_name, fromlist=[qualname])
|
|
191
|
+
return getattr(mod, qualname)
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def deque_representer(representer, data):
|
|
195
|
+
"""Representer for deque"""
|
|
196
|
+
return representer.represent_sequence("!deque", list(data))
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
def deque_constructor(constructor, node):
|
|
200
|
+
"""Constructor for ndarray"""
|
|
201
|
+
return deque(constructor.construct_sequence(node))
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
# Create YAML handler and register all custom types
|
|
205
|
+
class QiliYAML(YAML):
|
|
206
|
+
def register_class(self, cls=None, *, shared: bool = False):
|
|
207
|
+
if cls is None:
|
|
208
|
+
|
|
209
|
+
def decorator(target_cls): # noqa: ANN202
|
|
210
|
+
return self.register_class(target_cls, shared=shared)
|
|
211
|
+
|
|
212
|
+
return decorator
|
|
213
|
+
if not cls.__dict__.get("yaml_tag", None):
|
|
214
|
+
cls.yaml_tag = f"!{cls.__module__.split('.')[0]}.{cls.__name__}" if shared else f"!{cls.__name__}"
|
|
215
|
+
return super().register_class(cls)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
yaml = QiliYAML(typ="unsafe")
|
|
219
|
+
|
|
220
|
+
# SciPy CSR
|
|
221
|
+
yaml.representer.add_representer(sparse.csr_matrix, csr_representer)
|
|
222
|
+
yaml.constructor.add_constructor("!csr_matrix", csr_constructor)
|
|
223
|
+
|
|
224
|
+
# NumPy scalars
|
|
225
|
+
yaml.representer.add_multi_representer(np.generic, np_scalar_representer)
|
|
226
|
+
yaml.constructor.add_constructor("!np_scalar", np_scalar_constructor)
|
|
227
|
+
|
|
228
|
+
# defaultdict
|
|
229
|
+
yaml.representer.add_representer(defaultdict, defaultdict_representer)
|
|
230
|
+
yaml.constructor.add_constructor("!defaultdict", defaultdict_constructor)
|
|
231
|
+
|
|
232
|
+
# NumPy arrays
|
|
233
|
+
yaml.representer.add_representer(np.ndarray, ndarray_representer)
|
|
234
|
+
yaml.constructor.add_constructor("!ndarray", ndarray_constructor)
|
|
235
|
+
|
|
236
|
+
# Python functions and lambdas
|
|
237
|
+
yaml.representer.add_representer(types.FunctionType, function_representer)
|
|
238
|
+
yaml.constructor.add_constructor("!function", function_constructor)
|
|
239
|
+
yaml.representer.add_representer(types.LambdaType, lambda_representer)
|
|
240
|
+
yaml.constructor.add_constructor("!lambda", lambda_constructor)
|
|
241
|
+
|
|
242
|
+
# Pydantic models
|
|
243
|
+
yaml.representer.add_representer(BaseModel, pydantic_model_representer)
|
|
244
|
+
yaml.constructor.add_constructor("!PydanticModel", pydantic_model_constructor)
|
|
245
|
+
|
|
246
|
+
# Built-in complex numbers
|
|
247
|
+
yaml.representer.add_representer(complex, complex_representer)
|
|
248
|
+
yaml.constructor.add_constructor("!complex", complex_constructor)
|
|
249
|
+
|
|
250
|
+
# Built-in tuples
|
|
251
|
+
yaml.representer.add_representer(tuple, tuple_representer)
|
|
252
|
+
yaml.constructor.add_constructor("!tuple", tuple_constructor)
|
|
253
|
+
|
|
254
|
+
# Built-in type
|
|
255
|
+
yaml.representer.add_multi_representer(type, type_representer)
|
|
256
|
+
yaml.constructor.add_constructor("!type", type_constructor)
|
|
257
|
+
|
|
258
|
+
# Built-in deque
|
|
259
|
+
yaml.representer.add_representer(deque, deque_representer)
|
|
260
|
+
yaml.constructor.add_constructor("!deque", deque_constructor)
|