ngsolve 6.2.2501.post47.dev1__cp312-cp312-macosx_10_15_universal2.whl → 6.2.2501.post48.dev1__cp312-cp312-macosx_10_15_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 ngsolve might be problematic. Click here for more details.

Files changed (285) hide show
  1. netgen/include/arnoldi.hpp +55 -0
  2. netgen/include/bandmatrix.hpp +334 -0
  3. netgen/include/basematrix.hpp +957 -0
  4. netgen/include/basevector.hpp +1268 -0
  5. netgen/include/bdbequations.hpp +2752 -0
  6. netgen/include/bdbintegrator.hpp +1660 -0
  7. netgen/include/bessel.hpp +1064 -0
  8. netgen/include/bilinearform.hpp +963 -0
  9. netgen/include/bla.hpp +29 -0
  10. netgen/include/blockalloc.hpp +95 -0
  11. netgen/include/blockjacobi.hpp +316 -0
  12. netgen/include/bspline.hpp +114 -0
  13. netgen/include/calcinverse.hpp +141 -0
  14. netgen/include/cg.hpp +368 -0
  15. netgen/include/chebyshev.hpp +44 -0
  16. netgen/include/cholesky.hpp +720 -0
  17. netgen/include/clapack.h +7254 -0
  18. netgen/include/code_generation.hpp +296 -0
  19. netgen/include/coefficient.hpp +2033 -0
  20. netgen/include/coefficient_impl.hpp +19 -0
  21. netgen/include/coefficient_stdmath.hpp +167 -0
  22. netgen/include/commutingAMG.hpp +106 -0
  23. netgen/include/comp.hpp +79 -0
  24. netgen/include/compatibility.hpp +41 -0
  25. netgen/include/complex_wrapper.hpp +73 -0
  26. netgen/include/compressedfespace.hpp +110 -0
  27. netgen/include/contact.hpp +231 -0
  28. netgen/include/diagonalmatrix.hpp +154 -0
  29. netgen/include/differentialoperator.hpp +276 -0
  30. netgen/include/diffop.hpp +1286 -0
  31. netgen/include/diffop_impl.hpp +326 -0
  32. netgen/include/discontinuous.hpp +84 -0
  33. netgen/include/dump.hpp +949 -0
  34. netgen/include/eigen.hpp +60 -0
  35. netgen/include/eigensystem.hpp +18 -0
  36. netgen/include/elasticity_equations.hpp +595 -0
  37. netgen/include/elementbyelement.hpp +195 -0
  38. netgen/include/elementtopology.hpp +1760 -0
  39. netgen/include/elementtransformation.hpp +339 -0
  40. netgen/include/evalfunc.hpp +405 -0
  41. netgen/include/expr.hpp +1655 -0
  42. netgen/include/facetfe.hpp +175 -0
  43. netgen/include/facetfespace.hpp +178 -0
  44. netgen/include/facethofe.hpp +111 -0
  45. netgen/include/facetsurffespace.hpp +112 -0
  46. netgen/include/fe_interfaces.hpp +32 -0
  47. netgen/include/fem.hpp +87 -0
  48. netgen/include/fesconvert.hpp +14 -0
  49. netgen/include/fespace.hpp +1445 -0
  50. netgen/include/finiteelement.hpp +286 -0
  51. netgen/include/globalinterfacespace.hpp +77 -0
  52. netgen/include/globalspace.hpp +115 -0
  53. netgen/include/gridfunction.hpp +525 -0
  54. netgen/include/h1amg.hpp +41 -0
  55. netgen/include/h1hofe.hpp +188 -0
  56. netgen/include/h1hofe_impl.hpp +1262 -0
  57. netgen/include/h1hofefo.hpp +148 -0
  58. netgen/include/h1hofefo_impl.hpp +185 -0
  59. netgen/include/h1hofespace.hpp +167 -0
  60. netgen/include/h1lofe.hpp +1237 -0
  61. netgen/include/h1lumping.hpp +35 -0
  62. netgen/include/hcurl_equations.hpp +1352 -0
  63. netgen/include/hcurlcurlfe.hpp +2221 -0
  64. netgen/include/hcurlcurlfespace.hpp +78 -0
  65. netgen/include/hcurlfe.hpp +259 -0
  66. netgen/include/hcurlfe_utils.hpp +107 -0
  67. netgen/include/hcurlhdiv_dshape.hpp +857 -0
  68. netgen/include/hcurlhdivfes.hpp +308 -0
  69. netgen/include/hcurlhofe.hpp +175 -0
  70. netgen/include/hcurlhofe_impl.hpp +1871 -0
  71. netgen/include/hcurlhofespace.hpp +193 -0
  72. netgen/include/hcurllofe.hpp +1146 -0
  73. netgen/include/hdiv_equations.hpp +865 -0
  74. netgen/include/hdivdivfe.hpp +2923 -0
  75. netgen/include/hdivdivsurfacespace.hpp +76 -0
  76. netgen/include/hdivfe.hpp +206 -0
  77. netgen/include/hdivfe_utils.hpp +716 -0
  78. netgen/include/hdivfes.hpp +75 -0
  79. netgen/include/hdivhofe.hpp +447 -0
  80. netgen/include/hdivhofe_impl.hpp +1107 -0
  81. netgen/include/hdivhofefo.hpp +229 -0
  82. netgen/include/hdivhofespace.hpp +175 -0
  83. netgen/include/hdivhosurfacefespace.hpp +106 -0
  84. netgen/include/hdivlofe.hpp +773 -0
  85. netgen/include/hidden.hpp +74 -0
  86. netgen/include/householder.hpp +181 -0
  87. netgen/include/hypre_ams_precond.hpp +123 -0
  88. netgen/include/hypre_precond.hpp +73 -0
  89. netgen/include/integrator.hpp +2024 -0
  90. netgen/include/integratorcf.hpp +253 -0
  91. netgen/include/interpolate.hpp +49 -0
  92. netgen/include/intrule.hpp +2541 -0
  93. netgen/include/irspace.hpp +49 -0
  94. netgen/include/jacobi.hpp +136 -0
  95. netgen/include/l2hofe.hpp +193 -0
  96. netgen/include/l2hofe_impl.hpp +564 -0
  97. netgen/include/l2hofefo.hpp +542 -0
  98. netgen/include/l2hofespace.hpp +344 -0
  99. netgen/include/la.hpp +38 -0
  100. netgen/include/linearform.hpp +266 -0
  101. netgen/include/matrix.hpp +2140 -0
  102. netgen/include/memusage.hpp +41 -0
  103. netgen/include/meshaccess.hpp +1358 -0
  104. netgen/include/mgpre.hpp +204 -0
  105. netgen/include/mptools.hpp +2145 -0
  106. netgen/include/multigrid.hpp +42 -0
  107. netgen/include/multivector.hpp +447 -0
  108. netgen/include/mumpsinverse.hpp +187 -0
  109. netgen/include/mycomplex.hpp +361 -0
  110. netgen/include/ng_lapack.hpp +1661 -0
  111. netgen/include/ngblas.hpp +1099 -0
  112. netgen/include/ngs_defines.hpp +30 -0
  113. netgen/include/ngs_stdcpp_include.hpp +106 -0
  114. netgen/include/ngs_utils.hpp +121 -0
  115. netgen/include/ngsobject.hpp +1019 -0
  116. netgen/include/ngsstream.hpp +113 -0
  117. netgen/include/ngstd.hpp +72 -0
  118. netgen/include/nodalhofe.hpp +96 -0
  119. netgen/include/nodalhofe_impl.hpp +141 -0
  120. netgen/include/normalfacetfe.hpp +223 -0
  121. netgen/include/normalfacetfespace.hpp +98 -0
  122. netgen/include/normalfacetsurfacefespace.hpp +84 -0
  123. netgen/include/order.hpp +251 -0
  124. netgen/include/parallel_matrices.hpp +222 -0
  125. netgen/include/paralleldofs.hpp +340 -0
  126. netgen/include/parallelngs.hpp +23 -0
  127. netgen/include/parallelvector.hpp +269 -0
  128. netgen/include/pardisoinverse.hpp +200 -0
  129. netgen/include/periodic.hpp +125 -0
  130. netgen/include/plateaufespace.hpp +25 -0
  131. netgen/include/pml.hpp +275 -0
  132. netgen/include/pmltrafo.hpp +631 -0
  133. netgen/include/postproc.hpp +142 -0
  134. netgen/include/precomp.hpp +60 -0
  135. netgen/include/preconditioner.hpp +602 -0
  136. netgen/include/prolongation.hpp +235 -0
  137. netgen/include/python_comp.hpp +107 -0
  138. netgen/include/python_fem.hpp +89 -0
  139. netgen/include/python_linalg.hpp +58 -0
  140. netgen/include/python_ngstd.hpp +385 -0
  141. netgen/include/recursive_pol.hpp +4844 -0
  142. netgen/include/recursive_pol_tet.hpp +395 -0
  143. netgen/include/recursive_pol_trig.hpp +492 -0
  144. netgen/include/reorderedfespace.hpp +81 -0
  145. netgen/include/sample_sort.hpp +105 -0
  146. netgen/include/scalarfe.hpp +335 -0
  147. netgen/include/shapefunction_utils.hpp +113 -0
  148. netgen/include/simd_complex.hpp +284 -0
  149. netgen/include/smoother.hpp +253 -0
  150. netgen/include/solve.hpp +89 -0
  151. netgen/include/sparsecholesky.hpp +313 -0
  152. netgen/include/sparsematrix.hpp +1038 -0
  153. netgen/include/sparsematrix_dyn.hpp +91 -0
  154. netgen/include/sparsematrix_impl.hpp +920 -0
  155. netgen/include/special_matrix.hpp +461 -0
  156. netgen/include/specialelement.hpp +125 -0
  157. netgen/include/statushandler.hpp +33 -0
  158. netgen/include/stringops.hpp +12 -0
  159. netgen/include/superluinverse.hpp +136 -0
  160. netgen/include/symbolicintegrator.hpp +849 -0
  161. netgen/include/symmetricmatrix.hpp +144 -0
  162. netgen/include/tangentialfacetfe.hpp +224 -0
  163. netgen/include/tangentialfacetfespace.hpp +106 -0
  164. netgen/include/tensor.hpp +522 -0
  165. netgen/include/tensorcoefficient.hpp +446 -0
  166. netgen/include/tensorproductintegrator.hpp +113 -0
  167. netgen/include/thcurlfe.hpp +128 -0
  168. netgen/include/thcurlfe_impl.hpp +380 -0
  169. netgen/include/thdivfe.hpp +80 -0
  170. netgen/include/thdivfe_impl.hpp +426 -0
  171. netgen/include/tpdiffop.hpp +461 -0
  172. netgen/include/tpfes.hpp +133 -0
  173. netgen/include/tpintrule.hpp +224 -0
  174. netgen/include/triangular.hpp +465 -0
  175. netgen/include/tscalarfe.hpp +245 -0
  176. netgen/include/tscalarfe_impl.hpp +1029 -0
  177. netgen/include/umfpackinverse.hpp +148 -0
  178. netgen/include/vector.hpp +1219 -0
  179. netgen/include/voxelcoefficientfunction.hpp +41 -0
  180. netgen/include/vtkoutput.hpp +198 -0
  181. netgen/include/vvector.hpp +208 -0
  182. netgen/include/webgui.hpp +92 -0
  183. netgen/libngbla.dylib +0 -0
  184. netgen/libngcomp.dylib +0 -0
  185. netgen/libngfem.dylib +0 -0
  186. netgen/libngla.dylib +0 -0
  187. netgen/libngsolve.dylib +0 -0
  188. netgen/libngstd.dylib +0 -0
  189. ngsolve/__init__.pyi +231 -0
  190. ngsolve/bla.pyi +1139 -0
  191. ngsolve/bvp.pyi +32 -0
  192. ngsolve/cmake/NGSolveConfig.cmake +102 -0
  193. ngsolve/cmake/ngsolve-targets-release.cmake +69 -0
  194. ngsolve/cmake/ngsolve-targets.cmake +163 -0
  195. ngsolve/comp/__init__.pyi +5382 -0
  196. ngsolve/comp/pml.pyi +89 -0
  197. ngsolve/config/__init__.py +1 -0
  198. ngsolve/config/__init__.pyi +43 -0
  199. ngsolve/config/__main__.py +4 -0
  200. ngsolve/config/config.py +60 -0
  201. ngsolve/config/config.pyi +45 -0
  202. ngsolve/demos/TensorProduct/__init__.py +0 -0
  203. ngsolve/demos/TensorProduct/tp_dg_1d_1d.py +80 -0
  204. ngsolve/demos/TensorProduct/tp_dg_1d_2d.py +73 -0
  205. ngsolve/demos/TensorProduct/tp_dg_2d_1d.py +72 -0
  206. ngsolve/demos/TensorProduct/tp_dg_2d_2d.py +66 -0
  207. ngsolve/demos/__init__.py +0 -0
  208. ngsolve/demos/howto/__init__.py +0 -0
  209. ngsolve/demos/howto/hhj.py +44 -0
  210. ngsolve/demos/howto/hybrid_dg.py +53 -0
  211. ngsolve/demos/howto/mixed.py +30 -0
  212. ngsolve/demos/howto/nonlin.py +29 -0
  213. ngsolve/demos/howto/pickling.py +26 -0
  214. ngsolve/demos/howto/pml.py +31 -0
  215. ngsolve/demos/howto/taskmanager.py +20 -0
  216. ngsolve/demos/howto/tdnns.py +47 -0
  217. ngsolve/demos/howto/timeDG-skeleton.py +45 -0
  218. ngsolve/demos/howto/timeDG.py +38 -0
  219. ngsolve/demos/howto/timeDGlap.py +42 -0
  220. ngsolve/demos/howto/timeDGwave.py +61 -0
  221. ngsolve/demos/intro/__init__.py +0 -0
  222. ngsolve/demos/intro/adaptive.py +123 -0
  223. ngsolve/demos/intro/cmagnet.py +62 -0
  224. ngsolve/demos/intro/elasticity.py +76 -0
  225. ngsolve/demos/intro/navierstokes.py +74 -0
  226. ngsolve/demos/intro/poisson.ipynb +170 -0
  227. ngsolve/demos/intro/poisson.py +41 -0
  228. ngsolve/demos/mpi/__init__.py +0 -0
  229. ngsolve/demos/mpi/mpi_cmagnet.py +87 -0
  230. ngsolve/demos/mpi/mpi_navierstokes.py +117 -0
  231. ngsolve/demos/mpi/mpi_poisson.py +89 -0
  232. ngsolve/demos/mpi/mpi_timeDG.py +82 -0
  233. ngsolve/directsolvers.pyi +15 -0
  234. ngsolve/eigenvalues.pyi +30 -0
  235. ngsolve/fem.pyi +1707 -0
  236. ngsolve/krylovspace.pyi +301 -0
  237. ngsolve/la.pyi +1218 -0
  238. ngsolve/ngslib.so +0 -0
  239. ngsolve/ngstd.pyi +58 -0
  240. ngsolve/nonlinearsolvers.pyi +97 -0
  241. ngsolve/preconditioners.pyi +6 -0
  242. ngsolve/solve.pyi +108 -0
  243. ngsolve/solvers.pyi +14 -0
  244. ngsolve/timestepping.pyi +27 -0
  245. ngsolve/timing.pyi +54 -0
  246. ngsolve/utils.pyi +279 -0
  247. ngsolve-6.2.2501.post48.dev1.data/data/Netgen.icns +0 -0
  248. ngsolve-6.2.2501.post48.dev1.data/data/bin/ngscxx +17 -0
  249. ngsolve-6.2.2501.post48.dev1.data/data/bin/ngsld +13 -0
  250. ngsolve-6.2.2501.post48.dev1.data/data/bin/ngsolve.tcl +648 -0
  251. ngsolve-6.2.2501.post48.dev1.data/data/bin/ngspy +2 -0
  252. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/beam.geo +17 -0
  253. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/beam.vol +240 -0
  254. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/chip.in2d +41 -0
  255. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/chip.vol +614 -0
  256. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/coil.geo +12 -0
  257. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/coil.vol +2560 -0
  258. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/coilshield.geo +24 -0
  259. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/coilshield.vol +3179 -0
  260. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/cube.geo +19 -0
  261. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/cube.vol +1832 -0
  262. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
  263. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
  264. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d1_square.pde +43 -0
  265. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d2_chip.pde +35 -0
  266. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
  267. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d4_cube.pde +46 -0
  268. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d5_beam.pde +74 -0
  269. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d6_shaft.pde +73 -0
  270. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d7_coil.pde +50 -0
  271. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d8_coilshield.pde +49 -0
  272. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
  273. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/doubleglazing.in2d +27 -0
  274. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/doubleglazing.vol +737 -0
  275. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  276. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/shaft.geo +73 -0
  277. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/shaft.vol +4291 -0
  278. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/square.in2d +17 -0
  279. ngsolve-6.2.2501.post48.dev1.data/data/share/ngsolve/square.vol +149 -0
  280. {ngsolve-6.2.2501.post47.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/METADATA +1 -1
  281. ngsolve-6.2.2501.post48.dev1.dist-info/RECORD +304 -0
  282. ngsolve-6.2.2501.post47.dev1.dist-info/RECORD +0 -25
  283. {ngsolve-6.2.2501.post47.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/LICENSE +0 -0
  284. {ngsolve-6.2.2501.post47.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/WHEEL +0 -0
  285. {ngsolve-6.2.2501.post47.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/top_level.txt +0 -0
ngsolve/la.pyi ADDED
@@ -0,0 +1,1218 @@
1
+ """
2
+ pybind la
3
+ """
4
+ from __future__ import annotations
5
+ import ngsolve.bla
6
+ import ngsolve.ngstd
7
+ import numpy
8
+ import pyngcore.pyngcore
9
+ import typing
10
+ __all__ = ['ArnoldiSolver', 'BaseMatrix', 'BaseSparseMatrix', 'BaseVector', 'BlockMatrix', 'BlockSmoother', 'BlockVector', 'CGSolver', 'ChebyshevIteration', 'ConstEBEMatrix', 'CreateParallelVector', 'CreateVVector', 'CumulationOperator', 'DiagonalMatrix', 'DoArchive', 'DofRange', 'DynamicVectorExpression', 'EigenValues_Preconditioner', 'Embedding', 'EmbeddingTranspose', 'FETI_Jump', 'GMRESSolver', 'GetAvailableSolvers', 'IdentityMatrix', 'InnerProduct', 'KrylovSpaceSolver', 'LoggingMatrix', 'MultiVector', 'MultiVectorExpr', 'PARALLEL_STATUS', 'ParallelDofs', 'ParallelMatrix', 'PermutationMatrix', 'ProductMatrix', 'Projector', 'QMRSolver', 'QMRSolverC', 'QMRSolverD', 'Real2ComplexMatrix', 'S_BaseMatrixC', 'S_BaseMatrixD', 'ScaleMatrix', 'Smoother', 'SparseCholesky_c', 'SparseCholesky_d', 'SparseFactorization', 'SparseMatrixDynamic', 'SparseMatrixN5ngbla3MatILi2ELi2ENSt3__17complexIdEEEE', 'SparseMatrixN5ngbla3MatILi2ELi2EdEE', 'SparseMatrixN5ngbla3MatILi3ELi3ENSt3__17complexIdEEEE', 'SparseMatrixN5ngbla3MatILi3ELi3EdEE', 'SparseMatrixNSt3__17complexIdEE', 'SparseMatrixSymmetricN5ngbla3MatILi2ELi2ENSt3__17complexIdEEEE', 'SparseMatrixSymmetricN5ngbla3MatILi2ELi2EdEE', 'SparseMatrixSymmetricN5ngbla3MatILi3ELi3ENSt3__17complexIdEEEE', 'SparseMatrixSymmetricN5ngbla3MatILi3ELi3EdEE', 'SparseMatrixSymmetricNSt3__17complexIdEE', 'SparseMatrixSymmetricd', 'SparseMatrixVariableBlocks', 'SparseMatrixd', 'SumMatrix', 'SymmetricBlockGaussSeidelPreconditioner', 'SymmetricGaussSeidelPreconditioner', 'TransposeMatrix']
11
+ class BaseMatrix:
12
+ def AsVector(self) -> BaseVector:
13
+ """
14
+ Interprets the matrix values as a vector
15
+ """
16
+ def CreateColVector(self) -> BaseVector:
17
+ ...
18
+ def CreateDeviceMatrix(self) -> BaseMatrix:
19
+ ...
20
+ def CreateMatrix(self) -> BaseMatrix:
21
+ """
22
+ Create matrix of same dimension and same sparsestructure
23
+ """
24
+ def CreateRowVector(self) -> BaseVector:
25
+ ...
26
+ def CreateSparseMatrix(self) -> ...:
27
+ ...
28
+ def CreateVector(self, colvector: bool = False) -> BaseVector:
29
+ ...
30
+ def GetInverseType(self) -> str:
31
+ ...
32
+ def GetOperatorInfo(self) -> str:
33
+ ...
34
+ def Inverse(self, freedofs: pyngcore.pyngcore.BitArray = None, inverse: None | str | typing.Any = None, flags: pyngcore.pyngcore.Flags = ...) -> BaseMatrix:
35
+ """
36
+ Calculate inverse of sparse matrix
37
+ Parameters:
38
+
39
+ freedofs : BitArray
40
+ If set, invert only the rows/columns the matrix defined by the bit array, otherwise invert the whole matrix
41
+
42
+ inverse : string
43
+ Solver to use, allowed values are:
44
+ sparsecholesky - internal solver of NGSolve for symmetric matrices
45
+ umfpack - solver by Suitesparse/UMFPACK (if NGSolve was configured with USE_UMFPACK=ON)
46
+ pardiso - PARDISO, either provided by libpardiso (USE_PARDISO=ON) or Intel MKL (USE_MKL=ON).
47
+ If neither Pardiso nor Intel MKL was linked at compile-time, NGSolve will look
48
+ for libmkl_rt in LD_LIBRARY_PATH (Unix) or PATH (Windows) at run-time.
49
+ """
50
+ def Mult(self, x: BaseVector, y: BaseVector) -> None:
51
+ ...
52
+ @typing.overload
53
+ def MultAdd(self, value: float, x: BaseVector, y: BaseVector) -> None:
54
+ ...
55
+ @typing.overload
56
+ def MultAdd(self, value: complex, x: BaseVector, y: BaseVector) -> None:
57
+ ...
58
+ @typing.overload
59
+ def MultScale(self, value: float, x: BaseVector, y: BaseVector) -> None:
60
+ ...
61
+ @typing.overload
62
+ def MultScale(self, value: complex, x: BaseVector, y: BaseVector) -> None:
63
+ ...
64
+ @typing.overload
65
+ def MultTrans(self, value: float, x: BaseVector, y: BaseVector) -> None:
66
+ ...
67
+ @typing.overload
68
+ def MultTrans(self, value: complex, x: BaseVector, y: BaseVector) -> None:
69
+ ...
70
+ @typing.overload
71
+ def MultTransAdd(self, value: float, x: BaseVector, y: BaseVector) -> None:
72
+ ...
73
+ @typing.overload
74
+ def MultTransAdd(self, value: complex, x: BaseVector, y: BaseVector) -> None:
75
+ ...
76
+ def ToDense(self) -> typing.Any:
77
+ ...
78
+ def Update(self) -> None:
79
+ """
80
+ Update matrix
81
+ """
82
+ def __add__(self, mat: BaseMatrix) -> BaseMatrix:
83
+ ...
84
+ def __iadd__(self, mat: BaseMatrix) -> None:
85
+ ...
86
+ @typing.overload
87
+ def __init__(self) -> None:
88
+ ...
89
+ @typing.overload
90
+ def __init__(self, arg0: BaseVector) -> None:
91
+ ...
92
+ @typing.overload
93
+ def __init__(self, arg0: MultiVector) -> None:
94
+ ...
95
+ @typing.overload
96
+ def __init__(self, arg0: ngsolve.bla.MatrixD) -> None:
97
+ ...
98
+ @typing.overload
99
+ def __init__(self, arg0: typing.Any) -> None:
100
+ ...
101
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
102
+ ...
103
+ @typing.overload
104
+ def __mul__(self, arg0: BaseVector) -> ...:
105
+ ...
106
+ @typing.overload
107
+ def __mul__(self, arg0: MultiVector) -> MultiVectorExpr:
108
+ ...
109
+ def __neg__(self) -> BaseMatrix:
110
+ ...
111
+ def __radd__(self, arg0: int) -> BaseMatrix:
112
+ ...
113
+ @typing.overload
114
+ def __rmul__(self, value: float) -> BaseMatrix:
115
+ ...
116
+ @typing.overload
117
+ def __rmul__(self, value: complex) -> BaseMatrix:
118
+ ...
119
+ def __str__(self) -> str:
120
+ ...
121
+ def __sub__(self, mat: BaseMatrix) -> BaseMatrix:
122
+ ...
123
+ def __timing__(self, runs: int = 10) -> float:
124
+ ...
125
+ def matvec(self, arg0: BaseVector) -> BaseVector:
126
+ ...
127
+ @property
128
+ def H(self) -> BaseMatrix:
129
+ """
130
+ Return conjugate transpose of matrix (WIP, only partially supported)
131
+ """
132
+ @property
133
+ def T(self) -> BaseMatrix:
134
+ """
135
+ Return transpose of matrix
136
+ """
137
+ @property
138
+ def comm(self) -> pyngcore.pyngcore.MPI_Comm | None:
139
+ ...
140
+ @property
141
+ def dtype(self) -> numpy.dtype:
142
+ ...
143
+ @property
144
+ def height(self) -> int:
145
+ """
146
+ Height of the matrix
147
+ """
148
+ @property
149
+ def is_complex(self) -> bool:
150
+ """
151
+ is the matrix complex-valued ?
152
+ """
153
+ @property
154
+ def local_mat(self) -> BaseMatrix:
155
+ ...
156
+ @property
157
+ def nze(self) -> int:
158
+ """
159
+ number of non-zero elements
160
+ """
161
+ @property
162
+ def shape(self) -> tuple[int, int]:
163
+ ...
164
+ @property
165
+ def width(self) -> int:
166
+ """
167
+ Width of the matrix
168
+ """
169
+ class BaseSparseMatrix(BaseMatrix):
170
+ """
171
+ sparse matrix of any type
172
+ """
173
+ def CreateBlockSmoother(self, blocks: typing.Any, parallel: bool = False, GS: bool = False) -> typing.Any:
174
+ ...
175
+ def CreateSmoother(self, freedofs: pyngcore.pyngcore.BitArray = None, GS: bool = False) -> typing.Any:
176
+ ...
177
+ def DeleteZeroElements(self, arg0: float) -> BaseMatrix:
178
+ ...
179
+ class BaseVector:
180
+ def Add(self, vec: BaseVector, value: typing.Any) -> None:
181
+ ...
182
+ def Assign(self, vec: BaseVector, value: typing.Any) -> None:
183
+ ...
184
+ def Copy(self) -> BaseVector:
185
+ """
186
+ creates a new vector of same type, copy contents
187
+ """
188
+ def CreateDeviceVector(self, unified: bool = True, copy: bool = True) -> BaseVector:
189
+ """
190
+ creates a device-vector of the same type
191
+ """
192
+ def CreateVector(self, copy: bool = False) -> BaseVector:
193
+ """
194
+ creates a new vector of same type, contents is undefined if copy is false
195
+ """
196
+ def CreateVectors(self, num: int) -> list[BaseVector]:
197
+ """
198
+ creates a num new vector of same type, contents is undefined
199
+ """
200
+ def Cumulate(self) -> None:
201
+ ...
202
+ def Distribute(self) -> None:
203
+ ...
204
+ def FV(self) -> typing.Any:
205
+ ...
206
+ def GetParallelStatus(self) -> PARALLEL_STATUS:
207
+ ...
208
+ def InnerProduct(self, other: BaseVector, conjugate: bool = True) -> typing.Any:
209
+ """
210
+ Computes (complex) InnerProduct
211
+ """
212
+ def Norm(self) -> float:
213
+ """
214
+ Calculate Norm
215
+ """
216
+ def Range(self, from: int, to: int) -> BaseVector:
217
+ """
218
+ Return values from given range
219
+ """
220
+ def Reshape(self, width: int) -> ngsolve.bla.FlatMatrixD:
221
+ ...
222
+ def SetParallelStatus(self, stat: PARALLEL_STATUS) -> None:
223
+ ...
224
+ def SetRandom(self, seed: int | None = None) -> None:
225
+ ...
226
+ def __add__(self, arg0: ...) -> ...:
227
+ ...
228
+ def __buffer__(self, flags):
229
+ """
230
+ Return a buffer object that exposes the underlying memory of the object.
231
+ """
232
+ @typing.overload
233
+ def __getitem__(self, ind: int) -> typing.Any:
234
+ """
235
+ Return value at given position
236
+ """
237
+ @typing.overload
238
+ def __getitem__(self, inds: slice) -> BaseVector:
239
+ """
240
+ Return values at given position
241
+ """
242
+ @typing.overload
243
+ def __getitem__(self, arg0: ngsolve.ngstd.IntRange) -> BaseVector:
244
+ ...
245
+ @typing.overload
246
+ def __getitem__(self, arg0: DofRange) -> BaseVector:
247
+ ...
248
+ def __getstate__(self) -> tuple:
249
+ ...
250
+ @typing.overload
251
+ def __iadd__(self, vec: BaseVector) -> BaseVector:
252
+ ...
253
+ @typing.overload
254
+ def __iadd__(self, arg0: ...) -> BaseVector:
255
+ ...
256
+ @typing.overload
257
+ def __imul__(self, value: float) -> BaseVector:
258
+ ...
259
+ @typing.overload
260
+ def __imul__(self, value: complex) -> BaseVector:
261
+ ...
262
+ @typing.overload
263
+ def __init__(self, size: int, complex: bool = False, entrysize: int = 1) -> None:
264
+ ...
265
+ @typing.overload
266
+ def __init__(self, arg0: ...) -> None:
267
+ ...
268
+ @typing.overload
269
+ def __init__(self, arg0: numpy.ndarray[numpy.float64]) -> None:
270
+ ...
271
+ @typing.overload
272
+ def __isub__(self, vec: BaseVector) -> BaseVector:
273
+ ...
274
+ @typing.overload
275
+ def __isub__(self, arg0: ...) -> BaseVector:
276
+ ...
277
+ @typing.overload
278
+ def __itruediv__(self, value: float) -> BaseVector:
279
+ ...
280
+ @typing.overload
281
+ def __itruediv__(self, value: complex) -> BaseVector:
282
+ ...
283
+ def __len__(self) -> int:
284
+ ...
285
+ def __neg__(self) -> ...:
286
+ ...
287
+ def __release_buffer__(self, buffer):
288
+ """
289
+ Release the buffer object that exposes the underlying memory of the object.
290
+ """
291
+ def __repr__(self) -> str:
292
+ ...
293
+ @typing.overload
294
+ def __rmul__(self, arg0: float) -> ...:
295
+ ...
296
+ @typing.overload
297
+ def __rmul__(self, arg0: complex) -> ...:
298
+ ...
299
+ @typing.overload
300
+ def __setitem__(self, ind: int, value: float) -> None:
301
+ """
302
+ Set value at given position
303
+ """
304
+ @typing.overload
305
+ def __setitem__(self, ind: int, value: complex) -> None:
306
+ """
307
+ Set value at given position
308
+ """
309
+ @typing.overload
310
+ def __setitem__(self, inds: slice, value: float) -> None:
311
+ """
312
+ Set value at given positions
313
+ """
314
+ @typing.overload
315
+ def __setitem__(self, inds: slice, value: complex) -> None:
316
+ """
317
+ Set value at given positions
318
+ """
319
+ @typing.overload
320
+ def __setitem__(self, inds: slice, vec: BaseVector) -> None:
321
+ ...
322
+ @typing.overload
323
+ def __setitem__(self, inds: slice, vec: ...) -> None:
324
+ ...
325
+ @typing.overload
326
+ def __setitem__(self, inds: DofRange, vec: ...) -> None:
327
+ ...
328
+ @typing.overload
329
+ def __setitem__(self, range: ngsolve.ngstd.IntRange, value: float) -> None:
330
+ """
331
+ Set value for range of indices
332
+ """
333
+ @typing.overload
334
+ def __setitem__(self, range: ngsolve.ngstd.IntRange, value: complex) -> None:
335
+ """
336
+ Set value for range of indices
337
+ """
338
+ @typing.overload
339
+ def __setitem__(self, range: ngsolve.ngstd.IntRange, vec: BaseVector) -> None:
340
+ ...
341
+ @typing.overload
342
+ def __setitem__(self, ind: int, vec: ngsolve.bla.FlatVectorD) -> None:
343
+ ...
344
+ @typing.overload
345
+ def __setitem__(self, ind: int, vec: ngsolve.bla.FlatVectorC) -> None:
346
+ ...
347
+ @typing.overload
348
+ def __setitem__(self, arg0: pyngcore.pyngcore.BitArray, arg1: BaseVector) -> None:
349
+ ...
350
+ @typing.overload
351
+ def __setitem__(self, arg0: pyngcore.pyngcore.BitArray, arg1: float) -> None:
352
+ ...
353
+ def __setstate__(self, arg0: tuple) -> None:
354
+ ...
355
+ def __str__(self) -> str:
356
+ ...
357
+ def __sub__(self, arg0: ...) -> ...:
358
+ ...
359
+ @property
360
+ def comm(self) -> pyngcore.pyngcore.MPI_Comm | None:
361
+ ...
362
+ @property
363
+ def data(self) -> BaseVector:
364
+ ...
365
+ @data.setter
366
+ def data(self, arg1: ...) -> None:
367
+ ...
368
+ @property
369
+ def is_complex(self) -> bool:
370
+ ...
371
+ @property
372
+ def local_vec(self) -> BaseVector:
373
+ ...
374
+ @property
375
+ def size(self) -> int:
376
+ ...
377
+ class BlockMatrix(BaseMatrix):
378
+ def __getitem__(self, inds: tuple) -> BaseMatrix:
379
+ """
380
+ Return value at given position
381
+ """
382
+ def __init__(self, mats: list[list[BaseMatrix]]) -> None:
383
+ """
384
+ Make BlockMatrix with given array of matrices
385
+ """
386
+ @property
387
+ def col_nblocks(self) -> int:
388
+ ...
389
+ @property
390
+ def row_nblocks(self) -> int:
391
+ ...
392
+ class BlockSmoother(BaseMatrix):
393
+ """
394
+ block Jacobi and block Gauss-Seidel smoothing
395
+ """
396
+ def Smooth(self, x: BaseVector, b: BaseVector, steps: int = 1) -> None:
397
+ """
398
+ performs steps block-Gauss-Seidel iterations for the linear system A x = b
399
+ """
400
+ def SmoothBack(self, x: BaseVector, b: BaseVector, steps: int = 1) -> None:
401
+ """
402
+ performs steps block-Gauss-Seidel iterations for the linear system A x = b in reverse order
403
+ """
404
+ class BlockVector(BaseVector):
405
+ def __getitem__(self, ind: int) -> BaseVector:
406
+ """
407
+ Return block at given position
408
+ """
409
+ def __init__(self, vecs: list[BaseVector]) -> None:
410
+ """
411
+ Makes BlockVector by given array of vectors
412
+ """
413
+ @property
414
+ def nblocks(self) -> int:
415
+ """
416
+ number of blocks in BlockVector
417
+ """
418
+ class ConstEBEMatrix(BaseMatrix):
419
+ def __init__(self, h: int, w: int, matrix: ngsolve.bla.MatrixD, col_ind: list, row_ind: list) -> None:
420
+ ...
421
+ @property
422
+ def col_ind(self) -> ...:
423
+ ...
424
+ @property
425
+ def mat(self) -> ngsolve.bla.FlatMatrixD:
426
+ ...
427
+ @property
428
+ def row_ind(self) -> ...:
429
+ ...
430
+ class CumulationOperator(BaseMatrix):
431
+ def __init__(self, arg0: ParallelDofs) -> None:
432
+ ...
433
+ class DiagonalMatrix(BaseMatrix):
434
+ def __init__(self, arg0: BaseVector) -> None:
435
+ ...
436
+ class DofRange(ngsolve.ngstd.IntRange):
437
+ pass
438
+ class DynamicVectorExpression:
439
+ def CreateVector(self) -> BaseVector:
440
+ """
441
+ create vector
442
+ """
443
+ def Evaluate(self) -> BaseVector:
444
+ """
445
+ create vector and evaluate expression into it
446
+ """
447
+ def InnerProduct(self, arg0: BaseVector) -> float:
448
+ ...
449
+ def Norm(self) -> float:
450
+ ...
451
+ def __add__(self, arg0: DynamicVectorExpression) -> DynamicVectorExpression:
452
+ ...
453
+ @typing.overload
454
+ def __init__(self, arg0: BaseVector) -> None:
455
+ ...
456
+ @typing.overload
457
+ def __init__(self, arg0: numpy.ndarray[numpy.float64]) -> None:
458
+ ...
459
+ @typing.overload
460
+ def __init__(self, arg0: numpy.ndarray[numpy.complex128]) -> None:
461
+ ...
462
+ def __neg__(self) -> DynamicVectorExpression:
463
+ ...
464
+ @typing.overload
465
+ def __rmul__(self, arg0: float) -> DynamicVectorExpression:
466
+ ...
467
+ @typing.overload
468
+ def __rmul__(self, arg0: complex) -> DynamicVectorExpression:
469
+ ...
470
+ def __sub__(self, arg0: DynamicVectorExpression) -> DynamicVectorExpression:
471
+ ...
472
+ class Embedding(BaseMatrix):
473
+ def __init__(self, height: int, range: ngsolve.ngstd.IntRange, complex: bool = False) -> None:
474
+ """
475
+ Linear operator embedding a shorter vector into a longer vector
476
+ """
477
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
478
+ ...
479
+ class EmbeddingTranspose(BaseMatrix):
480
+ def __rmatmul__(self, mat: BaseMatrix) -> BaseMatrix:
481
+ ...
482
+ class FETI_Jump(BaseMatrix):
483
+ """
484
+ B-matrix of the FETI-system
485
+ """
486
+ @typing.overload
487
+ def __init__(self, pardofs: ParallelDofs) -> None:
488
+ ...
489
+ @typing.overload
490
+ def __init__(self, pardofs: ParallelDofs, u_pardofs: ParallelDofs) -> None:
491
+ ...
492
+ @property
493
+ def col_pardofs(self) -> ParallelDofs:
494
+ ...
495
+ @property
496
+ def row_pardofs(self) -> ParallelDofs:
497
+ ...
498
+ class IdentityMatrix(BaseMatrix):
499
+ @typing.overload
500
+ def __init__(self) -> None:
501
+ ...
502
+ @typing.overload
503
+ def __init__(self, size: int, complex: bool = False) -> None:
504
+ ...
505
+ class KrylovSpaceSolver(BaseMatrix):
506
+ maxsteps: int
507
+ tol: float
508
+ def GetSteps(self) -> int:
509
+ ...
510
+ def SetAbsolutePrecision(self, arg0: float) -> None:
511
+ ...
512
+ class LoggingMatrix(BaseMatrix):
513
+ def __init__(self, mat: BaseMatrix, label: str, logfile: str = 'stdout', comm: pyngcore.pyngcore.MPI_Comm | None = None) -> None:
514
+ ...
515
+ class MultiVector(MultiVectorExpr):
516
+ def Append(self, arg0: BaseVector) -> None:
517
+ ...
518
+ def AppendOrthogonalize(self, vec: BaseVector, ipmat: ... = None, parallel: bool = True, iterations: int = 2) -> typing.Any:
519
+ """
520
+ assumes that existing vectors are orthogonal, and orthogonalize new vector against existing vectors
521
+ """
522
+ def Expand(self, arg0: int) -> None:
523
+ """
524
+ deprecated, use Extend instead
525
+ """
526
+ def Extend(self, arg0: int) -> None:
527
+ ...
528
+ @typing.overload
529
+ def InnerProduct(self, other: MultiVector, conjugate: bool = True) -> typing.Any:
530
+ ...
531
+ @typing.overload
532
+ def InnerProduct(self, other: BaseVector, conjugate: bool = True) -> typing.Any:
533
+ ...
534
+ @typing.overload
535
+ def InnerProduct(self, other: MultiVectorExpr, conjugate: bool = True) -> typing.Any:
536
+ ...
537
+ def Orthogonalize(self, ipmat: ... = None) -> typing.Any:
538
+ """
539
+ Orthogonalize vectors by modified Gram-Schmidt, returns R-factor of QR decomposition (only ipmat version, for the moment)
540
+ """
541
+ @typing.overload
542
+ def Replace(self, ind: int, v2: BaseVector) -> None:
543
+ ...
544
+ @typing.overload
545
+ def Replace(self, inds: list[int], mv2: MultiVector) -> None:
546
+ ...
547
+ @typing.overload
548
+ def __getitem__(self, arg0: int) -> BaseVector:
549
+ ...
550
+ @typing.overload
551
+ def __getitem__(self, arg0: slice) -> MultiVector:
552
+ ...
553
+ @typing.overload
554
+ def __getitem__(self, arg0: pyngcore.pyngcore.Array_I_S) -> MultiVector:
555
+ ...
556
+ @typing.overload
557
+ def __getitem__(self, arg0: tuple[slice, slice]) -> MultiVector:
558
+ ...
559
+ def __getstate__(self) -> tuple:
560
+ ...
561
+ @typing.overload
562
+ def __init__(self, arg0: BaseVector, arg1: int) -> None:
563
+ ...
564
+ @typing.overload
565
+ def __init__(self, arg0: int, arg1: int, arg2: bool) -> None:
566
+ ...
567
+ def __len__(self) -> int:
568
+ ...
569
+ @typing.overload
570
+ def __mul__(self, arg0: ngsolve.bla.VectorD) -> ...:
571
+ ...
572
+ @typing.overload
573
+ def __mul__(self, arg0: ngsolve.bla.VectorC) -> ...:
574
+ ...
575
+ @typing.overload
576
+ def __mul__(self, arg0: ngsolve.bla.MatrixD) -> MultiVectorExpr:
577
+ ...
578
+ @typing.overload
579
+ def __mul__(self, arg0: ngsolve.bla.MatrixC) -> MultiVectorExpr:
580
+ ...
581
+ @typing.overload
582
+ def __setitem__(self, arg0: int, arg1: ...) -> None:
583
+ ...
584
+ @typing.overload
585
+ def __setitem__(self, arg0: int, arg1: float) -> None:
586
+ ...
587
+ @typing.overload
588
+ def __setitem__(self, arg0: int, arg1: complex) -> None:
589
+ ...
590
+ @typing.overload
591
+ def __setitem__(self, arg0: slice, arg1: MultiVector) -> None:
592
+ ...
593
+ @typing.overload
594
+ def __setitem__(self, arg0: slice, arg1: MultiVectorExpr) -> None:
595
+ ...
596
+ @typing.overload
597
+ def __setitem__(self, arg0: list[int], arg1: MultiVector) -> None:
598
+ ...
599
+ @typing.overload
600
+ def __setitem__(self, arg0: list[int], arg1: MultiVectorExpr) -> None:
601
+ ...
602
+ def __setstate__(self, arg0: tuple) -> None:
603
+ ...
604
+ @property
605
+ def data(self) -> MultiVector:
606
+ ...
607
+ @data.setter
608
+ def data(self, arg1: MultiVectorExpr) -> None:
609
+ ...
610
+ class MultiVectorExpr:
611
+ def Evaluate(self) -> ...:
612
+ ...
613
+ def InnerProduct(self, arg0: typing.Any) -> typing.Any:
614
+ ...
615
+ @typing.overload
616
+ def Scale(self, arg0: ngsolve.bla.VectorD) -> MultiVectorExpr:
617
+ ...
618
+ @typing.overload
619
+ def Scale(self, arg0: ngsolve.bla.VectorC) -> MultiVectorExpr:
620
+ ...
621
+ def __add__(self, arg0: MultiVectorExpr) -> MultiVectorExpr:
622
+ ...
623
+ def __neg__(self) -> MultiVectorExpr:
624
+ ...
625
+ @typing.overload
626
+ def __rmul__(self, arg0: float) -> MultiVectorExpr:
627
+ ...
628
+ @typing.overload
629
+ def __rmul__(self, arg0: complex) -> MultiVectorExpr:
630
+ ...
631
+ def __sub__(self, arg0: MultiVectorExpr) -> MultiVectorExpr:
632
+ ...
633
+ class PARALLEL_STATUS:
634
+ """
635
+ enum of possible parallel statuses
636
+
637
+ Members:
638
+
639
+ DISTRIBUTED
640
+
641
+ CUMULATED
642
+
643
+ NOT_PARALLEL
644
+ """
645
+ CUMULATED: typing.ClassVar[PARALLEL_STATUS] # value = <PARALLEL_STATUS.CUMULATED: 1>
646
+ DISTRIBUTED: typing.ClassVar[PARALLEL_STATUS] # value = <PARALLEL_STATUS.DISTRIBUTED: 0>
647
+ NOT_PARALLEL: typing.ClassVar[PARALLEL_STATUS] # value = <PARALLEL_STATUS.NOT_PARALLEL: 2>
648
+ __members__: typing.ClassVar[dict[str, PARALLEL_STATUS]] # value = {'DISTRIBUTED': <PARALLEL_STATUS.DISTRIBUTED: 0>, 'CUMULATED': <PARALLEL_STATUS.CUMULATED: 1>, 'NOT_PARALLEL': <PARALLEL_STATUS.NOT_PARALLEL: 2>}
649
+ def __eq__(self, other: typing.Any) -> bool:
650
+ ...
651
+ def __getstate__(self) -> int:
652
+ ...
653
+ def __hash__(self) -> int:
654
+ ...
655
+ def __index__(self) -> int:
656
+ ...
657
+ def __init__(self, value: int) -> None:
658
+ ...
659
+ def __int__(self) -> int:
660
+ ...
661
+ def __ne__(self, other: typing.Any) -> bool:
662
+ ...
663
+ def __repr__(self) -> str:
664
+ ...
665
+ def __setstate__(self, state: int) -> None:
666
+ ...
667
+ def __str__(self) -> str:
668
+ ...
669
+ @property
670
+ def name(self) -> str:
671
+ ...
672
+ @property
673
+ def value(self) -> int:
674
+ ...
675
+ class ParallelDofs:
676
+ def Dof2Proc(self, dof: int) -> pyngcore.pyngcore.FlatArray_I_S:
677
+ ...
678
+ def EnumerateGlobally(self, freedofs: pyngcore.pyngcore.BitArray = None) -> tuple[typing.Any, typing.Any]:
679
+ ...
680
+ def ExchangeProcs(self) -> pyngcore.pyngcore.FlatArray_I_S:
681
+ ...
682
+ def MasterDofs(self) -> pyngcore.pyngcore.BitArray:
683
+ ...
684
+ def Proc2Dof(self, proc: int) -> pyngcore.pyngcore.FlatArray_I_S:
685
+ ...
686
+ def SubSet(self, dofs: pyngcore.pyngcore.BitArray) -> ParallelDofs:
687
+ ...
688
+ def __init__(self, dist_procs: typing.Any, comm: pyngcore.pyngcore.MPI_Comm) -> None:
689
+ ...
690
+ @property
691
+ def comm(self) -> pyngcore.pyngcore.MPI_Comm:
692
+ ...
693
+ @property
694
+ def entrysize(self) -> int:
695
+ ...
696
+ @property
697
+ def ndofglobal(self) -> int:
698
+ """
699
+ number of global degrees of freedom
700
+ """
701
+ @property
702
+ def ndoflocal(self) -> int:
703
+ """
704
+ number of degrees of freedom
705
+ """
706
+ class ParallelMatrix(BaseMatrix):
707
+ """
708
+ MPI-distributed matrix
709
+ """
710
+ class PARALLEL_OP:
711
+ """
712
+ enum of possible parallel ops
713
+
714
+ Members:
715
+
716
+ C2C
717
+
718
+ C2D
719
+
720
+ D2C
721
+
722
+ D2D
723
+ """
724
+ C2C: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.C2C: 3>
725
+ C2D: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.C2D: 2>
726
+ D2C: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.D2C: 1>
727
+ D2D: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.D2D: 0>
728
+ __members__: typing.ClassVar[dict[str, ParallelMatrix.PARALLEL_OP]] # value = {'C2C': <PARALLEL_OP.C2C: 3>, 'C2D': <PARALLEL_OP.C2D: 2>, 'D2C': <PARALLEL_OP.D2C: 1>, 'D2D': <PARALLEL_OP.D2D: 0>}
729
+ def __eq__(self, other: typing.Any) -> bool:
730
+ ...
731
+ def __getstate__(self) -> int:
732
+ ...
733
+ def __hash__(self) -> int:
734
+ ...
735
+ def __index__(self) -> int:
736
+ ...
737
+ def __init__(self, value: int) -> None:
738
+ ...
739
+ def __int__(self) -> int:
740
+ ...
741
+ def __ne__(self, other: typing.Any) -> bool:
742
+ ...
743
+ def __repr__(self) -> str:
744
+ ...
745
+ def __setstate__(self, state: int) -> None:
746
+ ...
747
+ def __str__(self) -> str:
748
+ ...
749
+ @property
750
+ def name(self) -> str:
751
+ ...
752
+ @property
753
+ def value(self) -> int:
754
+ ...
755
+ C2C: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.C2C: 3>
756
+ C2D: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.C2D: 2>
757
+ D2C: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.D2C: 1>
758
+ D2D: typing.ClassVar[ParallelMatrix.PARALLEL_OP] # value = <PARALLEL_OP.D2D: 0>
759
+ @typing.overload
760
+ def __init__(self, mat: BaseMatrix, pardofs: ParallelDofs, op: ParallelMatrix.PARALLEL_OP = ...) -> None:
761
+ ...
762
+ @typing.overload
763
+ def __init__(self, mat: BaseMatrix, row_pardofs: ParallelDofs, col_pardofs: ParallelDofs, op: ParallelMatrix.PARALLEL_OP = ...) -> None:
764
+ ...
765
+ @property
766
+ def col_pardofs(self) -> ParallelDofs:
767
+ ...
768
+ @property
769
+ def local_mat(self) -> BaseMatrix:
770
+ ...
771
+ @property
772
+ def op_type(self) -> ParallelMatrix.PARALLEL_OP:
773
+ ...
774
+ @property
775
+ def row_pardofs(self) -> ParallelDofs:
776
+ ...
777
+ class PermutationMatrix(BaseMatrix):
778
+ def __init__(self, w: int, ind: list[int]) -> None:
779
+ ...
780
+ class ProductMatrix(BaseMatrix):
781
+ @property
782
+ def matA(self) -> BaseMatrix:
783
+ ...
784
+ @property
785
+ def matB(self) -> BaseMatrix:
786
+ ...
787
+ class Projector(BaseMatrix):
788
+ @typing.overload
789
+ def Project(self, arg0: BaseVector) -> BaseVector:
790
+ """
791
+ project vector inline
792
+ """
793
+ @typing.overload
794
+ def Project(self, arg0: MultiVector) -> MultiVector:
795
+ """
796
+ project vector inline
797
+ """
798
+ def __init__(self, mask: pyngcore.pyngcore.BitArray, range: bool) -> None:
799
+ """
800
+ Linear operator projecting to true/false bits of BitArray mask, depending on argument range
801
+ """
802
+ class QMRSolverC(BaseMatrix):
803
+ pass
804
+ class QMRSolverD(BaseMatrix):
805
+ pass
806
+ class Real2ComplexMatrix(BaseMatrix):
807
+ def __init__(self, arg0: BaseMatrix) -> None:
808
+ ...
809
+ class S_BaseMatrixC(BaseMatrix):
810
+ """
811
+ base sparse matrix
812
+ """
813
+ class S_BaseMatrixD(BaseMatrix):
814
+ """
815
+ base sparse matrix
816
+ """
817
+ class ScaleMatrix(BaseMatrix):
818
+ @property
819
+ def mat(self) -> BaseMatrix:
820
+ ...
821
+ class Smoother(BaseMatrix):
822
+ """
823
+ Jacobi and Gauss-Seidel smoothing
824
+ """
825
+ def Smooth(self, x: BaseVector, b: BaseVector) -> None:
826
+ """
827
+ performs one step Gauss-Seidel iteration for the linear system A x = b
828
+ """
829
+ def SmoothBack(self, x: BaseVector, b: BaseVector) -> None:
830
+ """
831
+ performs one step Gauss-Seidel iteration for the linear system A x = b in reverse order
832
+ """
833
+ class SparseCholesky_c(SparseFactorization):
834
+ def __getstate__(self) -> tuple:
835
+ ...
836
+ def __setstate__(self, arg0: tuple) -> None:
837
+ ...
838
+ class SparseCholesky_d(SparseFactorization):
839
+ def __getstate__(self) -> tuple:
840
+ ...
841
+ def __setstate__(self, arg0: tuple) -> None:
842
+ ...
843
+ class SparseFactorization(BaseMatrix):
844
+ def Smooth(self, arg0: BaseVector, arg1: BaseVector) -> None:
845
+ """
846
+ perform smoothing step (needs non-symmetric storage so symmetric sparse matrix)
847
+ """
848
+ class SparseMatrixDynamic(BaseMatrix):
849
+ def __init__(self, arg0: BaseMatrix) -> None:
850
+ ...
851
+ class SparseMatrixN5ngbla3MatILi2ELi2ENSt3__17complexIdEEEE(BaseSparseMatrix):
852
+ """
853
+ a sparse matrix in CSR storage
854
+ """
855
+ @staticmethod
856
+ def CreateFromCOO(*args, **kwargs) -> ...:
857
+ ...
858
+ @staticmethod
859
+ def CreateFromElmat(col_ind: list, row_ind: list, matrices: list, h: int, w: int) -> SparseMatrixd:
860
+ ...
861
+ def COO(self) -> typing.Any:
862
+ ...
863
+ def CSR(self) -> typing.Any:
864
+ ...
865
+ def CreateTranspose(self) -> BaseSparseMatrix:
866
+ """
867
+ Return transposed matrix
868
+ """
869
+ def __getitem__(self, pos: tuple) -> ngsolve.bla.Mat2C:
870
+ """
871
+ Return value at given position
872
+ """
873
+ @typing.overload
874
+ def __matmul__(self, mat: SparseMatrixd) -> ...:
875
+ ...
876
+ @typing.overload
877
+ def __matmul__(self, mat: SparseMatrixNSt3__17complexIdEE) -> BaseMatrix:
878
+ ...
879
+ @typing.overload
880
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
881
+ ...
882
+ def __setitem__(self, pos: tuple, value: ngsolve.bla.Mat2C) -> None:
883
+ """
884
+ Set value at given position
885
+ """
886
+ @property
887
+ def entrysizes(self) -> tuple[int, int]:
888
+ ...
889
+ class SparseMatrixN5ngbla3MatILi2ELi2EdEE(BaseSparseMatrix):
890
+ """
891
+ a sparse matrix in CSR storage
892
+ """
893
+ @staticmethod
894
+ def CreateFromCOO(*args, **kwargs) -> ...:
895
+ ...
896
+ @staticmethod
897
+ def CreateFromElmat(col_ind: list, row_ind: list, matrices: list, h: int, w: int) -> SparseMatrixd:
898
+ ...
899
+ def COO(self) -> typing.Any:
900
+ ...
901
+ def CSR(self) -> typing.Any:
902
+ ...
903
+ def CreateTranspose(self) -> BaseSparseMatrix:
904
+ """
905
+ Return transposed matrix
906
+ """
907
+ def __getitem__(self, pos: tuple) -> ngsolve.bla.Mat2D:
908
+ """
909
+ Return value at given position
910
+ """
911
+ @typing.overload
912
+ def __matmul__(self, mat: SparseMatrixd) -> ...:
913
+ ...
914
+ @typing.overload
915
+ def __matmul__(self, mat: SparseMatrixNSt3__17complexIdEE) -> BaseMatrix:
916
+ ...
917
+ @typing.overload
918
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
919
+ ...
920
+ def __setitem__(self, pos: tuple, value: ngsolve.bla.Mat2D) -> None:
921
+ """
922
+ Set value at given position
923
+ """
924
+ @property
925
+ def entrysizes(self) -> tuple[int, int]:
926
+ ...
927
+ class SparseMatrixN5ngbla3MatILi3ELi3ENSt3__17complexIdEEEE(BaseSparseMatrix):
928
+ """
929
+ a sparse matrix in CSR storage
930
+ """
931
+ @staticmethod
932
+ def CreateFromCOO(*args, **kwargs) -> ...:
933
+ ...
934
+ @staticmethod
935
+ def CreateFromElmat(col_ind: list, row_ind: list, matrices: list, h: int, w: int) -> SparseMatrixd:
936
+ ...
937
+ def COO(self) -> typing.Any:
938
+ ...
939
+ def CSR(self) -> typing.Any:
940
+ ...
941
+ def CreateTranspose(self) -> BaseSparseMatrix:
942
+ """
943
+ Return transposed matrix
944
+ """
945
+ def __getitem__(self, pos: tuple) -> ngsolve.bla.Mat3C:
946
+ """
947
+ Return value at given position
948
+ """
949
+ @typing.overload
950
+ def __matmul__(self, mat: SparseMatrixd) -> ...:
951
+ ...
952
+ @typing.overload
953
+ def __matmul__(self, mat: SparseMatrixNSt3__17complexIdEE) -> BaseMatrix:
954
+ ...
955
+ @typing.overload
956
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
957
+ ...
958
+ def __setitem__(self, pos: tuple, value: ngsolve.bla.Mat3C) -> None:
959
+ """
960
+ Set value at given position
961
+ """
962
+ @property
963
+ def entrysizes(self) -> tuple[int, int]:
964
+ ...
965
+ class SparseMatrixN5ngbla3MatILi3ELi3EdEE(BaseSparseMatrix):
966
+ """
967
+ a sparse matrix in CSR storage
968
+ """
969
+ @staticmethod
970
+ def CreateFromCOO(*args, **kwargs) -> ...:
971
+ ...
972
+ @staticmethod
973
+ def CreateFromElmat(col_ind: list, row_ind: list, matrices: list, h: int, w: int) -> SparseMatrixd:
974
+ ...
975
+ def COO(self) -> typing.Any:
976
+ ...
977
+ def CSR(self) -> typing.Any:
978
+ ...
979
+ def CreateTranspose(self) -> BaseSparseMatrix:
980
+ """
981
+ Return transposed matrix
982
+ """
983
+ def __getitem__(self, pos: tuple) -> ngsolve.bla.Mat3D:
984
+ """
985
+ Return value at given position
986
+ """
987
+ @typing.overload
988
+ def __matmul__(self, mat: SparseMatrixd) -> ...:
989
+ ...
990
+ @typing.overload
991
+ def __matmul__(self, mat: SparseMatrixNSt3__17complexIdEE) -> BaseMatrix:
992
+ ...
993
+ @typing.overload
994
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
995
+ ...
996
+ def __setitem__(self, pos: tuple, value: ngsolve.bla.Mat3D) -> None:
997
+ """
998
+ Set value at given position
999
+ """
1000
+ @property
1001
+ def entrysizes(self) -> tuple[int, int]:
1002
+ ...
1003
+ class SparseMatrixNSt3__17complexIdEE(BaseSparseMatrix):
1004
+ """
1005
+ a sparse matrix in CSR storage
1006
+ """
1007
+ @staticmethod
1008
+ def CreateFromCOO(*args, **kwargs) -> ...:
1009
+ ...
1010
+ @staticmethod
1011
+ def CreateFromElmat(col_ind: list, row_ind: list, matrices: list, h: int, w: int) -> SparseMatrixd:
1012
+ ...
1013
+ def COO(self) -> typing.Any:
1014
+ ...
1015
+ def CSR(self) -> typing.Any:
1016
+ ...
1017
+ def CreateTranspose(self) -> BaseSparseMatrix:
1018
+ """
1019
+ Return transposed matrix
1020
+ """
1021
+ def __getitem__(self, pos: tuple) -> complex:
1022
+ """
1023
+ Return value at given position
1024
+ """
1025
+ @typing.overload
1026
+ def __matmul__(self, mat: SparseMatrixd) -> ...:
1027
+ ...
1028
+ @typing.overload
1029
+ def __matmul__(self, mat: SparseMatrixNSt3__17complexIdEE) -> BaseMatrix:
1030
+ ...
1031
+ @typing.overload
1032
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
1033
+ ...
1034
+ def __setitem__(self, pos: tuple, value: complex) -> None:
1035
+ """
1036
+ Set value at given position
1037
+ """
1038
+ @property
1039
+ def entrysizes(self) -> tuple[int, int]:
1040
+ ...
1041
+ class SparseMatrixSymmetricN5ngbla3MatILi2ELi2ENSt3__17complexIdEEEE(SparseMatrixN5ngbla3MatILi2ELi2ENSt3__17complexIdEEEE):
1042
+ pass
1043
+ class SparseMatrixSymmetricN5ngbla3MatILi2ELi2EdEE(SparseMatrixN5ngbla3MatILi2ELi2EdEE):
1044
+ pass
1045
+ class SparseMatrixSymmetricN5ngbla3MatILi3ELi3ENSt3__17complexIdEEEE(SparseMatrixN5ngbla3MatILi3ELi3ENSt3__17complexIdEEEE):
1046
+ pass
1047
+ class SparseMatrixSymmetricN5ngbla3MatILi3ELi3EdEE(SparseMatrixN5ngbla3MatILi3ELi3EdEE):
1048
+ pass
1049
+ class SparseMatrixSymmetricNSt3__17complexIdEE(SparseMatrixNSt3__17complexIdEE):
1050
+ pass
1051
+ class SparseMatrixSymmetricd(SparseMatrixd):
1052
+ pass
1053
+ class SparseMatrixVariableBlocks(BaseMatrix):
1054
+ def __init__(self, arg0: BaseMatrix) -> None:
1055
+ ...
1056
+ class SparseMatrixd(BaseSparseMatrix):
1057
+ """
1058
+ a sparse matrix in CSR storage
1059
+ """
1060
+ @staticmethod
1061
+ def CreateFromCOO(indi: pyngcore.pyngcore.Array_I_S, indj: pyngcore.pyngcore.Array_I_S, values: pyngcore.pyngcore.Array_D_S, h: int, w: int) -> ...:
1062
+ ...
1063
+ @staticmethod
1064
+ def CreateFromElmat(col_ind: list, row_ind: list, matrices: list, h: int, w: int) -> SparseMatrixd:
1065
+ ...
1066
+ def COO(self) -> typing.Any:
1067
+ ...
1068
+ def CSR(self) -> typing.Any:
1069
+ ...
1070
+ def CreateTranspose(self) -> BaseSparseMatrix:
1071
+ """
1072
+ Return transposed matrix
1073
+ """
1074
+ def __getitem__(self, pos: tuple) -> float:
1075
+ """
1076
+ Return value at given position
1077
+ """
1078
+ @typing.overload
1079
+ def __matmul__(self, mat: SparseMatrixd) -> ...:
1080
+ ...
1081
+ @typing.overload
1082
+ def __matmul__(self, std: ..., std: ..., mat: ..., std: ..., std: ...) -> BaseMatrix:
1083
+ ...
1084
+ @typing.overload
1085
+ def __matmul__(self, mat: BaseMatrix) -> BaseMatrix:
1086
+ ...
1087
+ def __setitem__(self, pos: tuple, value: float) -> None:
1088
+ """
1089
+ Set value at given position
1090
+ """
1091
+ @property
1092
+ def entrysizes(self) -> tuple[int, int]:
1093
+ ...
1094
+ class SumMatrix(BaseMatrix):
1095
+ @property
1096
+ def matA(self) -> BaseMatrix:
1097
+ ...
1098
+ @property
1099
+ def matB(self) -> BaseMatrix:
1100
+ ...
1101
+ class SymmetricBlockGaussSeidelPreconditioner(BaseMatrix):
1102
+ pass
1103
+ class SymmetricGaussSeidelPreconditioner(BaseMatrix):
1104
+ pass
1105
+ class TransposeMatrix(BaseMatrix):
1106
+ @property
1107
+ def mat(self) -> BaseMatrix:
1108
+ ...
1109
+ def ArnoldiSolver(mata: BaseMatrix, matm: BaseMatrix, freedofs: pyngcore.pyngcore.BitArray, vecs: list, shift: complex = ..., inverse: str | None = None) -> ngsolve.bla.VectorC:
1110
+ """
1111
+ Shift-and-invert Arnoldi eigenvalue solver
1112
+
1113
+ Solves the generalized linear EVP A*u = M*lam*u using an Arnoldi iteration for the
1114
+ shifted EVP (A-shift*M)^(-1)*M*u = lam*u with a Krylow space of dimension 2*len(vecs)+1.
1115
+ len(vecs) eigenpairs with the closest eigenvalues to the shift are returned.
1116
+
1117
+ Parameters:
1118
+
1119
+ mata : ngsolve.la.BaseMatrix
1120
+ matrix A
1121
+
1122
+ matm : ngsolve.la.BaseMatrix
1123
+ matrix M
1124
+
1125
+ freedofs : nsolve.ngstd.BitArray
1126
+ correct degrees of freedom
1127
+
1128
+ vecs : list
1129
+ list of BaseVectors for writing eigenvectors
1130
+
1131
+ shift : object
1132
+ complex or real shift
1133
+ """
1134
+ def CGSolver(mat: BaseMatrix, pre: BaseMatrix, complex: bool = False, printrates: bool = True, precision: float = 1e-08, maxsteps: int = 200, conjugate: bool = False, maxiter: int | None = None) -> KrylovSpaceSolver:
1135
+ """
1136
+ A CG Solver.
1137
+
1138
+ Parameters:
1139
+
1140
+ mat : ngsolve.la.BaseMatrix
1141
+ input matrix
1142
+
1143
+ pre : ngsolve.la.BaseMatrix
1144
+ input preconditioner matrix
1145
+
1146
+ complex : bool
1147
+ input complex, if not set it is deduced from matrix type
1148
+
1149
+ printrates : bool
1150
+ input printrates
1151
+
1152
+ precision : float
1153
+ input requested precision. CGSolver stops if precision is reached.
1154
+
1155
+ maxsteps : int
1156
+ input maximal steps. CGSolver stops after this steps.
1157
+ """
1158
+ def ChebyshevIteration(mat: BaseMatrix = None, pre: BaseMatrix = None, steps: int = 3, lam_min: float = 1, lam_max: float = 1) -> BaseMatrix:
1159
+ ...
1160
+ def CreateParallelVector(pardofs: ParallelDofs, status: PARALLEL_STATUS) -> ...:
1161
+ ...
1162
+ def CreateVVector(size: int, complex: bool = False, entrysize: int = 1) -> ...:
1163
+ ...
1164
+ def DoArchive(arg0: ngsolve.ngstd.Archive, arg1: BaseMatrix) -> ngsolve.ngstd.Archive:
1165
+ ...
1166
+ def EigenValues_Preconditioner(mat: BaseMatrix, pre: BaseMatrix, tol: float = 1e-10) -> ngsolve.bla.VectorD:
1167
+ """
1168
+ Calculate eigenvalues of pre * mat, where pre and mat are positive definite matrices.
1169
+ The typical usecase of this function is to calculate the condition number of a preconditioner.It uses the Lanczos algorithm and bisection for the tridiagonal matrix
1170
+ """
1171
+ def GMRESSolver(mat: BaseMatrix, pre: BaseMatrix, printrates: bool = True, precision: float = 1e-08, maxsteps: int = 200) -> KrylovSpaceSolver:
1172
+ """
1173
+ A General Minimal Residuum (GMRES) Solver.
1174
+
1175
+ Parameters:
1176
+
1177
+ mat : ngsolve.la.BaseMatrix
1178
+ input matrix
1179
+
1180
+ pre : ngsolve.la.BaseMatrix
1181
+ input preconditioner matrix
1182
+
1183
+ printrates : bool
1184
+ input printrates
1185
+
1186
+ precision : float
1187
+ input requested precision. GMRESSolver stops if precision is reached.
1188
+
1189
+ maxsteps : int
1190
+ input maximal steps. GMRESSolver stops after this steps.
1191
+ """
1192
+ def GetAvailableSolvers() -> list:
1193
+ ...
1194
+ def InnerProduct(x: typing.Any, y: typing.Any, **kwargs) -> typing.Any:
1195
+ """
1196
+ Computes InnerProduct of given objects
1197
+ """
1198
+ def QMRSolver(mat: BaseMatrix, pre: BaseMatrix, printrates: bool = True, precision: float = 1e-08, maxsteps: int = 200) -> KrylovSpaceSolver:
1199
+ """
1200
+ A Quasi Minimal Residuum (QMR) Solver.
1201
+
1202
+ Parameters:
1203
+
1204
+ mat : ngsolve.la.BaseMatrix
1205
+ input matrix
1206
+
1207
+ pre : ngsolve.la.BaseMatrix
1208
+ input preconditioner matrix
1209
+
1210
+ printrates : bool
1211
+ input printrates
1212
+
1213
+ precision : float
1214
+ input requested precision. QMRSolver stops if precision is reached.
1215
+
1216
+ maxsteps : int
1217
+ input maximal steps. QMRSolver stops after this steps.
1218
+ """