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