sequenzo 0.1.18__cp311-cp311-macosx_10_9_universal2.whl → 0.1.19__cp311-cp311-macosx_10_9_universal2.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.
Potentially problematic release.
This version of sequenzo might be problematic. Click here for more details.
- sequenzo/__init__.py +39 -7
- sequenzo/big_data/clara/utils/get_weighted_diss.c +155 -155
- sequenzo/big_data/clara/utils/get_weighted_diss.cpython-311-darwin.so +0 -0
- sequenzo/clustering/KMedoids.py +39 -0
- sequenzo/clustering/hierarchical_clustering.py +107 -5
- sequenzo/define_sequence_data.py +10 -1
- sequenzo/dissimilarity_measures/get_distance_matrix.py +1 -2
- sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +155 -155
- sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cpython-311-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqconc.c +155 -155
- sequenzo/dissimilarity_measures/utils/seqconc.cpython-311-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqdss.c +155 -155
- sequenzo/dissimilarity_measures/utils/seqdss.cpython-311-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqdur.c +155 -155
- sequenzo/dissimilarity_measures/utils/seqdur.cpython-311-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqlength.c +155 -155
- sequenzo/dissimilarity_measures/utils/seqlength.cpython-311-darwin.so +0 -0
- sequenzo/multidomain/cat.py +0 -53
- sequenzo/multidomain/idcd.py +0 -1
- sequenzo/openmp_setup.py +233 -0
- sequenzo/visualization/plot_transition_matrix.py +21 -22
- {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/METADATA +43 -10
- sequenzo-0.1.19.dist-info/RECORD +215 -0
- sequenzo/dissimilarity_measures/setup.py +0 -35
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
- sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
- sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
- sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
- sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
- sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
- sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
- sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
- sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
- sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
- sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
- sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
- sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
- sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
- sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
- sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
- sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
- sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
- sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
- sequenzo-0.1.18.dist-info/RECORD +0 -544
- {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/WHEEL +0 -0
- {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/licenses/LICENSE +0 -0
- {sequenzo-0.1.18.dist-info → sequenzo-0.1.19.dist-info}/top_level.txt +0 -0
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
-
// for linear algebra.
|
|
3
|
-
//
|
|
4
|
-
// Copyright (C) 2012 Chen-Pang He <jdh8@ms63.hinet.net>
|
|
5
|
-
//
|
|
6
|
-
// This Source Code Form is subject to the terms of the Mozilla
|
|
7
|
-
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
8
|
-
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
9
|
-
|
|
10
|
-
#ifndef EIGEN_PACKED_TRIANGULAR_SOLVER_VECTOR_H
|
|
11
|
-
#define EIGEN_PACKED_TRIANGULAR_SOLVER_VECTOR_H
|
|
12
|
-
|
|
13
|
-
namespace internal {
|
|
14
|
-
|
|
15
|
-
template<typename LhsScalar, typename RhsScalar, typename Index, int Side, int Mode, bool Conjugate, int StorageOrder>
|
|
16
|
-
struct packed_triangular_solve_vector;
|
|
17
|
-
|
|
18
|
-
// forward and backward substitution, row-major, rhs is a vector
|
|
19
|
-
template<typename LhsScalar, typename RhsScalar, typename Index, int Mode, bool Conjugate>
|
|
20
|
-
struct packed_triangular_solve_vector<LhsScalar, RhsScalar, Index, OnTheLeft, Mode, Conjugate, RowMajor>
|
|
21
|
-
{
|
|
22
|
-
enum {
|
|
23
|
-
IsLower = (Mode&Lower)==Lower
|
|
24
|
-
};
|
|
25
|
-
static void run(Index size, const LhsScalar* lhs, RhsScalar* rhs)
|
|
26
|
-
{
|
|
27
|
-
internal::conj_if<Conjugate> cj;
|
|
28
|
-
typedef Map<const Matrix<LhsScalar,Dynamic,1> > LhsMap;
|
|
29
|
-
typedef typename conj_expr_if<Conjugate,LhsMap>::type ConjLhsType;
|
|
30
|
-
|
|
31
|
-
lhs += IsLower ? 0 : (size*(size+1)>>1)-1;
|
|
32
|
-
for(Index pi=0; pi<size; ++pi)
|
|
33
|
-
{
|
|
34
|
-
Index i = IsLower ? pi : size-pi-1;
|
|
35
|
-
Index s = IsLower ? 0 : 1;
|
|
36
|
-
if (pi>0)
|
|
37
|
-
rhs[i] -= (ConjLhsType(LhsMap(lhs+s,pi))
|
|
38
|
-
.cwiseProduct(Map<const Matrix<RhsScalar,Dynamic,1> >(rhs+(IsLower ? 0 : i+1),pi))).sum();
|
|
39
|
-
if (!(Mode & UnitDiag))
|
|
40
|
-
rhs[i] /= cj(lhs[IsLower ? i : 0]);
|
|
41
|
-
IsLower ? lhs += pi+1 : lhs -= pi+2;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// forward and backward substitution, column-major, rhs is a vector
|
|
47
|
-
template<typename LhsScalar, typename RhsScalar, typename Index, int Mode, bool Conjugate>
|
|
48
|
-
struct packed_triangular_solve_vector<LhsScalar, RhsScalar, Index, OnTheLeft, Mode, Conjugate, ColMajor>
|
|
49
|
-
{
|
|
50
|
-
enum {
|
|
51
|
-
IsLower = (Mode&Lower)==Lower
|
|
52
|
-
};
|
|
53
|
-
static void run(Index size, const LhsScalar* lhs, RhsScalar* rhs)
|
|
54
|
-
{
|
|
55
|
-
internal::conj_if<Conjugate> cj;
|
|
56
|
-
typedef Map<const Matrix<LhsScalar,Dynamic,1> > LhsMap;
|
|
57
|
-
typedef typename conj_expr_if<Conjugate,LhsMap>::type ConjLhsType;
|
|
58
|
-
|
|
59
|
-
lhs += IsLower ? 0 : size*(size-1)>>1;
|
|
60
|
-
for(Index pi=0; pi<size; ++pi)
|
|
61
|
-
{
|
|
62
|
-
Index i = IsLower ? pi : size-pi-1;
|
|
63
|
-
Index r = size - pi - 1;
|
|
64
|
-
if (!(Mode & UnitDiag))
|
|
65
|
-
rhs[i] /= cj(lhs[IsLower ? 0 : i]);
|
|
66
|
-
if (r>0)
|
|
67
|
-
Map<Matrix<RhsScalar,Dynamic,1> >(rhs+(IsLower? i+1 : 0),r) -=
|
|
68
|
-
rhs[i] * ConjLhsType(LhsMap(lhs+(IsLower? 1 : 0),r));
|
|
69
|
-
IsLower ? lhs += size-pi : lhs -= r;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
template<typename LhsScalar, typename RhsScalar, typename Index, int Mode, bool Conjugate, int StorageOrder>
|
|
75
|
-
struct packed_triangular_solve_vector<LhsScalar, RhsScalar, Index, OnTheRight, Mode, Conjugate, StorageOrder>
|
|
76
|
-
{
|
|
77
|
-
static void run(Index size, const LhsScalar* lhs, RhsScalar* rhs)
|
|
78
|
-
{
|
|
79
|
-
packed_triangular_solve_vector<LhsScalar,RhsScalar,Index,OnTheLeft,
|
|
80
|
-
((Mode&Upper)==Upper ? Lower : Upper) | (Mode&UnitDiag),
|
|
81
|
-
Conjugate,StorageOrder==RowMajor?ColMajor:RowMajor
|
|
82
|
-
>::run(size, lhs, rhs);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
} // end namespace internal
|
|
87
|
-
|
|
88
|
-
#endif // EIGEN_PACKED_TRIANGULAR_SOLVER_VECTOR_H
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
-
// for linear algebra.
|
|
3
|
-
//
|
|
4
|
-
// Copyright (C) 2012 Chen-Pang He <jdh8@ms63.hinet.net>
|
|
5
|
-
//
|
|
6
|
-
// This Source Code Form is subject to the terms of the Mozilla
|
|
7
|
-
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
8
|
-
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
9
|
-
|
|
10
|
-
#ifndef EIGEN_RANK2UPDATE_H
|
|
11
|
-
#define EIGEN_RANK2UPDATE_H
|
|
12
|
-
|
|
13
|
-
namespace internal {
|
|
14
|
-
|
|
15
|
-
/* Optimized selfadjoint matrix += alpha * uv' + conj(alpha)*vu'
|
|
16
|
-
* This is the low-level version of SelfadjointRank2Update.h
|
|
17
|
-
*/
|
|
18
|
-
template<typename Scalar, typename Index, int UpLo>
|
|
19
|
-
struct rank2_update_selector
|
|
20
|
-
{
|
|
21
|
-
static void run(Index size, Scalar* mat, Index stride, const Scalar* u, const Scalar* v, Scalar alpha)
|
|
22
|
-
{
|
|
23
|
-
typedef Map<const Matrix<Scalar,Dynamic,1> > OtherMap;
|
|
24
|
-
for (Index i=0; i<size; ++i)
|
|
25
|
-
{
|
|
26
|
-
Map<Matrix<Scalar,Dynamic,1> >(mat+stride*i+(UpLo==Lower ? i : 0), UpLo==Lower ? size-i : (i+1)) +=
|
|
27
|
-
numext::conj(alpha) * numext::conj(u[i]) * OtherMap(v+(UpLo==Lower ? i : 0), UpLo==Lower ? size-i : (i+1))
|
|
28
|
-
+ alpha * numext::conj(v[i]) * OtherMap(u+(UpLo==Lower ? i : 0), UpLo==Lower ? size-i : (i+1));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
/* Optimized selfadjoint matrix += alpha * uv' + conj(alpha)*vu'
|
|
34
|
-
* The matrix is in packed form.
|
|
35
|
-
*/
|
|
36
|
-
template<typename Scalar, typename Index, int UpLo>
|
|
37
|
-
struct packed_rank2_update_selector
|
|
38
|
-
{
|
|
39
|
-
static void run(Index size, Scalar* mat, const Scalar* u, const Scalar* v, Scalar alpha)
|
|
40
|
-
{
|
|
41
|
-
typedef Map<const Matrix<Scalar,Dynamic,1> > OtherMap;
|
|
42
|
-
Index offset = 0;
|
|
43
|
-
for (Index i=0; i<size; ++i)
|
|
44
|
-
{
|
|
45
|
-
Map<Matrix<Scalar,Dynamic,1> >(mat+offset, UpLo==Lower ? size-i : (i+1)) +=
|
|
46
|
-
numext::conj(alpha) * numext::conj(u[i]) * OtherMap(v+(UpLo==Lower ? i : 0), UpLo==Lower ? size-i : (i+1))
|
|
47
|
-
+ alpha * numext::conj(v[i]) * OtherMap(u+(UpLo==Lower ? i : 0), UpLo==Lower ? size-i : (i+1));
|
|
48
|
-
//FIXME This should be handled outside.
|
|
49
|
-
mat[offset+(UpLo==Lower ? 0 : i)] = numext::real(mat[offset+(UpLo==Lower ? 0 : i)]);
|
|
50
|
-
offset += UpLo==Lower ? size-i : (i+1);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
} // end namespace internal
|
|
56
|
-
|
|
57
|
-
#endif // EIGEN_RANK2UPDATE_H
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
-
// for linear algebra.
|
|
3
|
-
//
|
|
4
|
-
// Copyright (C) 2009-2015 Gael Guennebaud <gael.guennebaud@inria.fr>
|
|
5
|
-
//
|
|
6
|
-
// This Source Code Form is subject to the terms of the Mozilla
|
|
7
|
-
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
8
|
-
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
9
|
-
|
|
10
|
-
#ifndef EIGEN_BLAS_COMMON_H
|
|
11
|
-
#define EIGEN_BLAS_COMMON_H
|
|
12
|
-
|
|
13
|
-
#ifdef __GNUC__
|
|
14
|
-
# if __GNUC__<5
|
|
15
|
-
// GCC < 5.0 does not like the global Scalar typedef
|
|
16
|
-
// we just keep shadow-warnings disabled permanently
|
|
17
|
-
# define EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
|
|
18
|
-
# endif
|
|
19
|
-
#endif
|
|
20
|
-
|
|
21
|
-
#include "../Eigen/Core"
|
|
22
|
-
#include "../Eigen/Jacobi"
|
|
23
|
-
|
|
24
|
-
#include <complex>
|
|
25
|
-
|
|
26
|
-
#ifndef SCALAR
|
|
27
|
-
#error the token SCALAR must be defined to compile this file
|
|
28
|
-
#endif
|
|
29
|
-
|
|
30
|
-
#include "../Eigen/src/misc/blas.h"
|
|
31
|
-
|
|
32
|
-
#define NOTR 0
|
|
33
|
-
#define TR 1
|
|
34
|
-
#define ADJ 2
|
|
35
|
-
|
|
36
|
-
#define LEFT 0
|
|
37
|
-
#define RIGHT 1
|
|
38
|
-
|
|
39
|
-
#define UP 0
|
|
40
|
-
#define LO 1
|
|
41
|
-
|
|
42
|
-
#define NUNIT 0
|
|
43
|
-
#define UNIT 1
|
|
44
|
-
|
|
45
|
-
#define INVALID 0xff
|
|
46
|
-
|
|
47
|
-
#define OP(X) ( ((X)=='N' || (X)=='n') ? NOTR \
|
|
48
|
-
: ((X)=='T' || (X)=='t') ? TR \
|
|
49
|
-
: ((X)=='C' || (X)=='c') ? ADJ \
|
|
50
|
-
: INVALID)
|
|
51
|
-
|
|
52
|
-
#define SIDE(X) ( ((X)=='L' || (X)=='l') ? LEFT \
|
|
53
|
-
: ((X)=='R' || (X)=='r') ? RIGHT \
|
|
54
|
-
: INVALID)
|
|
55
|
-
|
|
56
|
-
#define UPLO(X) ( ((X)=='U' || (X)=='u') ? UP \
|
|
57
|
-
: ((X)=='L' || (X)=='l') ? LO \
|
|
58
|
-
: INVALID)
|
|
59
|
-
|
|
60
|
-
#define DIAG(X) ( ((X)=='N' || (X)=='n') ? NUNIT \
|
|
61
|
-
: ((X)=='U' || (X)=='u') ? UNIT \
|
|
62
|
-
: INVALID)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
inline bool check_op(const char* op)
|
|
66
|
-
{
|
|
67
|
-
return OP(*op)!=0xff;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
inline bool check_side(const char* side)
|
|
71
|
-
{
|
|
72
|
-
return SIDE(*side)!=0xff;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
inline bool check_uplo(const char* uplo)
|
|
76
|
-
{
|
|
77
|
-
return UPLO(*uplo)!=0xff;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
namespace Eigen {
|
|
82
|
-
#include "BandTriangularSolver.h"
|
|
83
|
-
#include "GeneralRank1Update.h"
|
|
84
|
-
#include "PackedSelfadjointProduct.h"
|
|
85
|
-
#include "PackedTriangularMatrixVector.h"
|
|
86
|
-
#include "PackedTriangularSolverVector.h"
|
|
87
|
-
#include "Rank2Update.h"
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
using namespace Eigen;
|
|
91
|
-
|
|
92
|
-
typedef SCALAR Scalar;
|
|
93
|
-
typedef NumTraits<Scalar>::Real RealScalar;
|
|
94
|
-
typedef std::complex<RealScalar> Complex;
|
|
95
|
-
|
|
96
|
-
enum
|
|
97
|
-
{
|
|
98
|
-
IsComplex = Eigen::NumTraits<SCALAR>::IsComplex,
|
|
99
|
-
Conj = IsComplex
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
typedef Matrix<Scalar,Dynamic,Dynamic,ColMajor> PlainMatrixType;
|
|
103
|
-
typedef Map<Matrix<Scalar,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> > MatrixType;
|
|
104
|
-
typedef Map<const Matrix<Scalar,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> > ConstMatrixType;
|
|
105
|
-
typedef Map<Matrix<Scalar,Dynamic,1>, 0, InnerStride<Dynamic> > StridedVectorType;
|
|
106
|
-
typedef Map<Matrix<Scalar,Dynamic,1> > CompactVectorType;
|
|
107
|
-
|
|
108
|
-
template<typename T>
|
|
109
|
-
Map<Matrix<T,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> >
|
|
110
|
-
matrix(T* data, int rows, int cols, int stride)
|
|
111
|
-
{
|
|
112
|
-
return Map<Matrix<T,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> >(data, rows, cols, OuterStride<>(stride));
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
template<typename T>
|
|
116
|
-
Map<const Matrix<T,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> >
|
|
117
|
-
matrix(const T* data, int rows, int cols, int stride)
|
|
118
|
-
{
|
|
119
|
-
return Map<const Matrix<T,Dynamic,Dynamic,ColMajor>, 0, OuterStride<> >(data, rows, cols, OuterStride<>(stride));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
template<typename T>
|
|
123
|
-
Map<Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> > make_vector(T* data, int size, int incr)
|
|
124
|
-
{
|
|
125
|
-
return Map<Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> >(data, size, InnerStride<Dynamic>(incr));
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
template<typename T>
|
|
129
|
-
Map<const Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> > make_vector(const T* data, int size, int incr)
|
|
130
|
-
{
|
|
131
|
-
return Map<const Matrix<T,Dynamic,1>, 0, InnerStride<Dynamic> >(data, size, InnerStride<Dynamic>(incr));
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
template<typename T>
|
|
135
|
-
Map<Matrix<T,Dynamic,1> > make_vector(T* data, int size)
|
|
136
|
-
{
|
|
137
|
-
return Map<Matrix<T,Dynamic,1> >(data, size);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
template<typename T>
|
|
141
|
-
Map<const Matrix<T,Dynamic,1> > make_vector(const T* data, int size)
|
|
142
|
-
{
|
|
143
|
-
return Map<const Matrix<T,Dynamic,1> >(data, size);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
template<typename T>
|
|
147
|
-
T* get_compact_vector(T* x, int n, int incx)
|
|
148
|
-
{
|
|
149
|
-
if(incx==1)
|
|
150
|
-
return x;
|
|
151
|
-
|
|
152
|
-
typename Eigen::internal::remove_const<T>::type* ret = new Scalar[n];
|
|
153
|
-
if(incx<0) make_vector(ret,n) = make_vector(x,n,-incx).reverse();
|
|
154
|
-
else make_vector(ret,n) = make_vector(x,n, incx);
|
|
155
|
-
return ret;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
template<typename T>
|
|
159
|
-
T* copy_back(T* x_cpy, T* x, int n, int incx)
|
|
160
|
-
{
|
|
161
|
-
if(x_cpy==x)
|
|
162
|
-
return 0;
|
|
163
|
-
|
|
164
|
-
if(incx<0) make_vector(x,n,-incx).reverse() = make_vector(x_cpy,n);
|
|
165
|
-
else make_vector(x,n, incx) = make_vector(x_cpy,n);
|
|
166
|
-
return x_cpy;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
#ifndef EIGEN_BLAS_FUNC_SUFFIX
|
|
170
|
-
#define EIGEN_BLAS_FUNC_SUFFIX _
|
|
171
|
-
#endif
|
|
172
|
-
|
|
173
|
-
#define EIGEN_BLAS_FUNC(X) EIGEN_CAT(SCALAR_SUFFIX, EIGEN_CAT(X, EIGEN_BLAS_FUNC_SUFFIX))
|
|
174
|
-
|
|
175
|
-
#endif // EIGEN_BLAS_COMMON_H
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/* This contains a limited subset of the typedefs exposed by f2c
|
|
2
|
-
for use by the Eigen BLAS C-only implementation.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
#ifndef __EIGEN_DATATYPES_H__
|
|
6
|
-
#define __EIGEN_DATATYPES_H__
|
|
7
|
-
|
|
8
|
-
typedef int integer;
|
|
9
|
-
typedef unsigned int uinteger;
|
|
10
|
-
typedef float real;
|
|
11
|
-
typedef double doublereal;
|
|
12
|
-
typedef struct { real r, i; } complex;
|
|
13
|
-
typedef struct { doublereal r, i; } doublecomplex;
|
|
14
|
-
typedef int ftnlen;
|
|
15
|
-
typedef int logical;
|
|
16
|
-
|
|
17
|
-
#define abs(x) ((x) >= 0 ? (x) : -(x))
|
|
18
|
-
#define dabs(x) (doublereal)abs(x)
|
|
19
|
-
#define min(a,b) ((a) <= (b) ? (a) : (b))
|
|
20
|
-
#define max(a,b) ((a) >= (b) ? (a) : (b))
|
|
21
|
-
#define dmin(a,b) (doublereal)min(a,b)
|
|
22
|
-
#define dmax(a,b) (doublereal)max(a,b)
|
|
23
|
-
|
|
24
|
-
#endif
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
-
// for linear algebra.
|
|
3
|
-
//
|
|
4
|
-
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
|
|
5
|
-
//
|
|
6
|
-
// This Source Code Form is subject to the terms of the Mozilla
|
|
7
|
-
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
8
|
-
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
9
|
-
|
|
10
|
-
#include "common.h"
|
|
11
|
-
|
|
12
|
-
struct scalar_norm1_op {
|
|
13
|
-
typedef RealScalar result_type;
|
|
14
|
-
EIGEN_EMPTY_STRUCT_CTOR(scalar_norm1_op)
|
|
15
|
-
inline RealScalar operator() (const Scalar& a) const { return numext::norm1(a); }
|
|
16
|
-
};
|
|
17
|
-
namespace Eigen {
|
|
18
|
-
namespace internal {
|
|
19
|
-
template<> struct functor_traits<scalar_norm1_op >
|
|
20
|
-
{
|
|
21
|
-
enum { Cost = 3 * NumTraits<Scalar>::AddCost, PacketAccess = 0 };
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// computes the sum of magnitudes of all vector elements or, for a complex vector x, the sum
|
|
27
|
-
// res = |Rex1| + |Imx1| + |Rex2| + |Imx2| + ... + |Rexn| + |Imxn|, where x is a vector of order n
|
|
28
|
-
RealScalar EIGEN_CAT(REAL_SCALAR_SUFFIX, EIGEN_BLAS_FUNC(asum))(int *n, RealScalar *px, int *incx)
|
|
29
|
-
{
|
|
30
|
-
// std::cerr << "__asum " << *n << " " << *incx << "\n";
|
|
31
|
-
Complex* x = reinterpret_cast<Complex*>(px);
|
|
32
|
-
|
|
33
|
-
if(*n<=0) return 0;
|
|
34
|
-
|
|
35
|
-
if(*incx==1) return make_vector(x,*n).unaryExpr<scalar_norm1_op>().sum();
|
|
36
|
-
else return make_vector(x,*n,std::abs(*incx)).unaryExpr<scalar_norm1_op>().sum();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
int EIGEN_CAT(i, EIGEN_BLAS_FUNC(amax))(int *n, RealScalar *px, int *incx)
|
|
40
|
-
{
|
|
41
|
-
if(*n<=0) return 0;
|
|
42
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
43
|
-
|
|
44
|
-
DenseIndex ret;
|
|
45
|
-
if(*incx==1) make_vector(x,*n).unaryExpr<scalar_norm1_op>().maxCoeff(&ret);
|
|
46
|
-
else make_vector(x,*n,std::abs(*incx)).unaryExpr<scalar_norm1_op>().maxCoeff(&ret);
|
|
47
|
-
return int(ret)+1;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
int EIGEN_CAT(i, EIGEN_BLAS_FUNC(amin))(int *n, RealScalar *px, int *incx)
|
|
51
|
-
{
|
|
52
|
-
if(*n<=0) return 0;
|
|
53
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
54
|
-
|
|
55
|
-
DenseIndex ret;
|
|
56
|
-
if(*incx==1) make_vector(x,*n).unaryExpr<scalar_norm1_op>().minCoeff(&ret);
|
|
57
|
-
else make_vector(x,*n,std::abs(*incx)).unaryExpr<scalar_norm1_op>().minCoeff(&ret);
|
|
58
|
-
return int(ret)+1;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// computes a dot product of a conjugated vector with another vector.
|
|
62
|
-
int EIGEN_BLAS_FUNC(dotcw)(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy, RealScalar* pres)
|
|
63
|
-
{
|
|
64
|
-
// std::cerr << "_dotc " << *n << " " << *incx << " " << *incy << "\n";
|
|
65
|
-
Scalar* res = reinterpret_cast<Scalar*>(pres);
|
|
66
|
-
|
|
67
|
-
if(*n<=0)
|
|
68
|
-
{
|
|
69
|
-
*res = Scalar(0);
|
|
70
|
-
return 0;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
74
|
-
Scalar* y = reinterpret_cast<Scalar*>(py);
|
|
75
|
-
|
|
76
|
-
if(*incx==1 && *incy==1) *res = (make_vector(x,*n).dot(make_vector(y,*n)));
|
|
77
|
-
else if(*incx>0 && *incy>0) *res = (make_vector(x,*n,*incx).dot(make_vector(y,*n,*incy)));
|
|
78
|
-
else if(*incx<0 && *incy>0) *res = (make_vector(x,*n,-*incx).reverse().dot(make_vector(y,*n,*incy)));
|
|
79
|
-
else if(*incx>0 && *incy<0) *res = (make_vector(x,*n,*incx).dot(make_vector(y,*n,-*incy).reverse()));
|
|
80
|
-
else if(*incx<0 && *incy<0) *res = (make_vector(x,*n,-*incx).reverse().dot(make_vector(y,*n,-*incy).reverse()));
|
|
81
|
-
return 0;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// computes a vector-vector dot product without complex conjugation.
|
|
85
|
-
int EIGEN_BLAS_FUNC(dotuw)(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy, RealScalar* pres)
|
|
86
|
-
{
|
|
87
|
-
Scalar* res = reinterpret_cast<Scalar*>(pres);
|
|
88
|
-
|
|
89
|
-
if(*n<=0)
|
|
90
|
-
{
|
|
91
|
-
*res = Scalar(0);
|
|
92
|
-
return 0;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
96
|
-
Scalar* y = reinterpret_cast<Scalar*>(py);
|
|
97
|
-
|
|
98
|
-
if(*incx==1 && *incy==1) *res = (make_vector(x,*n).cwiseProduct(make_vector(y,*n))).sum();
|
|
99
|
-
else if(*incx>0 && *incy>0) *res = (make_vector(x,*n,*incx).cwiseProduct(make_vector(y,*n,*incy))).sum();
|
|
100
|
-
else if(*incx<0 && *incy>0) *res = (make_vector(x,*n,-*incx).reverse().cwiseProduct(make_vector(y,*n,*incy))).sum();
|
|
101
|
-
else if(*incx>0 && *incy<0) *res = (make_vector(x,*n,*incx).cwiseProduct(make_vector(y,*n,-*incy).reverse())).sum();
|
|
102
|
-
else if(*incx<0 && *incy<0) *res = (make_vector(x,*n,-*incx).reverse().cwiseProduct(make_vector(y,*n,-*incy).reverse())).sum();
|
|
103
|
-
return 0;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
RealScalar EIGEN_CAT(REAL_SCALAR_SUFFIX, EIGEN_BLAS_FUNC(nrm2))(int *n, RealScalar *px, int *incx)
|
|
107
|
-
{
|
|
108
|
-
// std::cerr << "__nrm2 " << *n << " " << *incx << "\n";
|
|
109
|
-
if(*n<=0) return 0;
|
|
110
|
-
|
|
111
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
112
|
-
|
|
113
|
-
if(*incx==1)
|
|
114
|
-
return make_vector(x,*n).stableNorm();
|
|
115
|
-
|
|
116
|
-
return make_vector(x,*n,*incx).stableNorm();
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
int EIGEN_BLAS_FUNC(EIGEN_CAT(REAL_SCALAR_SUFFIX, rot))(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy, RealScalar *pc, RealScalar *ps)
|
|
120
|
-
{
|
|
121
|
-
if(*n<=0) return 0;
|
|
122
|
-
|
|
123
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
124
|
-
Scalar* y = reinterpret_cast<Scalar*>(py);
|
|
125
|
-
RealScalar c = *pc;
|
|
126
|
-
RealScalar s = *ps;
|
|
127
|
-
|
|
128
|
-
StridedVectorType vx(make_vector(x,*n,std::abs(*incx)));
|
|
129
|
-
StridedVectorType vy(make_vector(y,*n,std::abs(*incy)));
|
|
130
|
-
|
|
131
|
-
Reverse<StridedVectorType> rvx(vx);
|
|
132
|
-
Reverse<StridedVectorType> rvy(vy);
|
|
133
|
-
|
|
134
|
-
// TODO implement mixed real-scalar rotations
|
|
135
|
-
if(*incx<0 && *incy>0) internal::apply_rotation_in_the_plane(rvx, vy, JacobiRotation<Scalar>(c,s));
|
|
136
|
-
else if(*incx>0 && *incy<0) internal::apply_rotation_in_the_plane(vx, rvy, JacobiRotation<Scalar>(c,s));
|
|
137
|
-
else internal::apply_rotation_in_the_plane(vx, vy, JacobiRotation<Scalar>(c,s));
|
|
138
|
-
|
|
139
|
-
return 0;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
int EIGEN_BLAS_FUNC(EIGEN_CAT(REAL_SCALAR_SUFFIX, scal))(int *n, RealScalar *palpha, RealScalar *px, int *incx)
|
|
143
|
-
{
|
|
144
|
-
if(*n<=0) return 0;
|
|
145
|
-
|
|
146
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
147
|
-
RealScalar alpha = *palpha;
|
|
148
|
-
|
|
149
|
-
// std::cerr << "__scal " << *n << " " << alpha << " " << *incx << "\n";
|
|
150
|
-
|
|
151
|
-
if(*incx==1) make_vector(x,*n) *= alpha;
|
|
152
|
-
else make_vector(x,*n,std::abs(*incx)) *= alpha;
|
|
153
|
-
|
|
154
|
-
return 0;
|
|
155
|
-
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
// This file is part of Eigen, a lightweight C++ template library
|
|
2
|
-
// for linear algebra.
|
|
3
|
-
//
|
|
4
|
-
// Copyright (C) 2009-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
|
|
5
|
-
//
|
|
6
|
-
// This Source Code Form is subject to the terms of the Mozilla
|
|
7
|
-
// Public License v. 2.0. If a copy of the MPL was not distributed
|
|
8
|
-
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
9
|
-
|
|
10
|
-
#include "common.h"
|
|
11
|
-
|
|
12
|
-
int EIGEN_BLAS_FUNC(axpy)(const int *n, const RealScalar *palpha, const RealScalar *px, const int *incx, RealScalar *py, const int *incy)
|
|
13
|
-
{
|
|
14
|
-
const Scalar* x = reinterpret_cast<const Scalar*>(px);
|
|
15
|
-
Scalar* y = reinterpret_cast<Scalar*>(py);
|
|
16
|
-
Scalar alpha = *reinterpret_cast<const Scalar*>(palpha);
|
|
17
|
-
|
|
18
|
-
if(*n<=0) return 0;
|
|
19
|
-
|
|
20
|
-
if(*incx==1 && *incy==1) make_vector(y,*n) += alpha * make_vector(x,*n);
|
|
21
|
-
else if(*incx>0 && *incy>0) make_vector(y,*n,*incy) += alpha * make_vector(x,*n,*incx);
|
|
22
|
-
else if(*incx>0 && *incy<0) make_vector(y,*n,-*incy).reverse() += alpha * make_vector(x,*n,*incx);
|
|
23
|
-
else if(*incx<0 && *incy>0) make_vector(y,*n,*incy) += alpha * make_vector(x,*n,-*incx).reverse();
|
|
24
|
-
else if(*incx<0 && *incy<0) make_vector(y,*n,-*incy).reverse() += alpha * make_vector(x,*n,-*incx).reverse();
|
|
25
|
-
|
|
26
|
-
return 0;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
int EIGEN_BLAS_FUNC(copy)(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
|
|
30
|
-
{
|
|
31
|
-
if(*n<=0) return 0;
|
|
32
|
-
|
|
33
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
34
|
-
Scalar* y = reinterpret_cast<Scalar*>(py);
|
|
35
|
-
|
|
36
|
-
// be careful, *incx==0 is allowed !!
|
|
37
|
-
if(*incx==1 && *incy==1)
|
|
38
|
-
make_vector(y,*n) = make_vector(x,*n);
|
|
39
|
-
else
|
|
40
|
-
{
|
|
41
|
-
if(*incx<0) x = x - (*n-1)*(*incx);
|
|
42
|
-
if(*incy<0) y = y - (*n-1)*(*incy);
|
|
43
|
-
for(int i=0;i<*n;++i)
|
|
44
|
-
{
|
|
45
|
-
*y = *x;
|
|
46
|
-
x += *incx;
|
|
47
|
-
y += *incy;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return 0;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
int EIGEN_BLAS_FUNC(rotg)(RealScalar *pa, RealScalar *pb, RealScalar *pc, RealScalar *ps)
|
|
55
|
-
{
|
|
56
|
-
using std::sqrt;
|
|
57
|
-
using std::abs;
|
|
58
|
-
|
|
59
|
-
Scalar& a = *reinterpret_cast<Scalar*>(pa);
|
|
60
|
-
Scalar& b = *reinterpret_cast<Scalar*>(pb);
|
|
61
|
-
RealScalar* c = pc;
|
|
62
|
-
Scalar* s = reinterpret_cast<Scalar*>(ps);
|
|
63
|
-
|
|
64
|
-
#if !ISCOMPLEX
|
|
65
|
-
Scalar r,z;
|
|
66
|
-
Scalar aa = abs(a);
|
|
67
|
-
Scalar ab = abs(b);
|
|
68
|
-
if((aa+ab)==Scalar(0))
|
|
69
|
-
{
|
|
70
|
-
*c = 1;
|
|
71
|
-
*s = 0;
|
|
72
|
-
r = 0;
|
|
73
|
-
z = 0;
|
|
74
|
-
}
|
|
75
|
-
else
|
|
76
|
-
{
|
|
77
|
-
r = sqrt(a*a + b*b);
|
|
78
|
-
Scalar amax = aa>ab ? a : b;
|
|
79
|
-
r = amax>0 ? r : -r;
|
|
80
|
-
*c = a/r;
|
|
81
|
-
*s = b/r;
|
|
82
|
-
z = 1;
|
|
83
|
-
if (aa > ab) z = *s;
|
|
84
|
-
if (ab > aa && *c!=RealScalar(0))
|
|
85
|
-
z = Scalar(1)/ *c;
|
|
86
|
-
}
|
|
87
|
-
*pa = r;
|
|
88
|
-
*pb = z;
|
|
89
|
-
#else
|
|
90
|
-
Scalar alpha;
|
|
91
|
-
RealScalar norm,scale;
|
|
92
|
-
if(abs(a)==RealScalar(0))
|
|
93
|
-
{
|
|
94
|
-
*c = RealScalar(0);
|
|
95
|
-
*s = Scalar(1);
|
|
96
|
-
a = b;
|
|
97
|
-
}
|
|
98
|
-
else
|
|
99
|
-
{
|
|
100
|
-
scale = abs(a) + abs(b);
|
|
101
|
-
norm = scale*sqrt((numext::abs2(a/scale)) + (numext::abs2(b/scale)));
|
|
102
|
-
alpha = a/abs(a);
|
|
103
|
-
*c = abs(a)/norm;
|
|
104
|
-
*s = alpha*numext::conj(b)/norm;
|
|
105
|
-
a = alpha*norm;
|
|
106
|
-
}
|
|
107
|
-
#endif
|
|
108
|
-
|
|
109
|
-
// JacobiRotation<Scalar> r;
|
|
110
|
-
// r.makeGivens(a,b);
|
|
111
|
-
// *c = r.c();
|
|
112
|
-
// *s = r.s();
|
|
113
|
-
|
|
114
|
-
return 0;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
int EIGEN_BLAS_FUNC(scal)(int *n, RealScalar *palpha, RealScalar *px, int *incx)
|
|
118
|
-
{
|
|
119
|
-
if(*n<=0) return 0;
|
|
120
|
-
|
|
121
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
122
|
-
Scalar alpha = *reinterpret_cast<Scalar*>(palpha);
|
|
123
|
-
|
|
124
|
-
if(*incx==1) make_vector(x,*n) *= alpha;
|
|
125
|
-
else make_vector(x,*n,std::abs(*incx)) *= alpha;
|
|
126
|
-
|
|
127
|
-
return 0;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
int EIGEN_BLAS_FUNC(swap)(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
|
|
131
|
-
{
|
|
132
|
-
if(*n<=0) return 0;
|
|
133
|
-
|
|
134
|
-
Scalar* x = reinterpret_cast<Scalar*>(px);
|
|
135
|
-
Scalar* y = reinterpret_cast<Scalar*>(py);
|
|
136
|
-
|
|
137
|
-
if(*incx==1 && *incy==1) make_vector(y,*n).swap(make_vector(x,*n));
|
|
138
|
-
else if(*incx>0 && *incy>0) make_vector(y,*n,*incy).swap(make_vector(x,*n,*incx));
|
|
139
|
-
else if(*incx>0 && *incy<0) make_vector(y,*n,-*incy).reverse().swap(make_vector(x,*n,*incx));
|
|
140
|
-
else if(*incx<0 && *incy>0) make_vector(y,*n,*incy).swap(make_vector(x,*n,-*incx).reverse());
|
|
141
|
-
else if(*incx<0 && *incy<0) make_vector(y,*n,-*incy).reverse().swap(make_vector(x,*n,-*incx).reverse());
|
|
142
|
-
|
|
143
|
-
return 1;
|
|
144
|
-
}
|