ngsolve 6.2.2501.post39.dev1__cp313-cp313-macosx_10_15_universal2.whl → 6.2.2501.post48.dev1__cp313-cp313-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 +18 -0
  234. ngsolve/eigenvalues.pyi +30 -0
  235. ngsolve/fem.pyi +1707 -0
  236. ngsolve/krylovspace.pyi +309 -0
  237. ngsolve/la.pyi +1218 -0
  238. ngsolve/ngslib.so +0 -0
  239. ngsolve/ngstd.pyi +58 -0
  240. ngsolve/nonlinearsolvers.pyi +98 -0
  241. ngsolve/preconditioners.pyi +6 -0
  242. ngsolve/solve.pyi +108 -0
  243. ngsolve/solvers.pyi +14 -0
  244. ngsolve/timestepping.pyi +34 -0
  245. ngsolve/timing.pyi +57 -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.post39.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/METADATA +2 -2
  281. ngsolve-6.2.2501.post48.dev1.dist-info/RECORD +304 -0
  282. ngsolve-6.2.2501.post39.dev1.dist-info/RECORD +0 -25
  283. {ngsolve-6.2.2501.post39.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/LICENSE +0 -0
  284. {ngsolve-6.2.2501.post39.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/WHEEL +0 -0
  285. {ngsolve-6.2.2501.post39.dev1.dist-info → ngsolve-6.2.2501.post48.dev1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,309 @@
1
+ from __future__ import annotations
2
+ import logging as logging
3
+ from math import log
4
+ from netgen import TimeFunction
5
+ from netgen.libngpy._meshing import _GetStatus
6
+ from netgen.libngpy._meshing import _PushStatus
7
+ from netgen.libngpy._meshing import _SetThreadPercentage
8
+ from ngsolve.bla import InnerProduct
9
+ from ngsolve.bla import Matrix
10
+ from ngsolve.bla import Norm
11
+ from ngsolve.bla import Vector
12
+ import ngsolve.comp
13
+ from ngsolve.comp import Preconditioner
14
+ from ngsolve.fem import sqrt
15
+ import ngsolve.la
16
+ from ngsolve.la import BaseMatrix
17
+ from ngsolve.la import BaseVector
18
+ from ngsolve.la import BlockVector
19
+ from ngsolve.la import EigenValues_Preconditioner
20
+ from ngsolve.la import Projector
21
+ import os as os
22
+ from pyngcore.pyngcore import BitArray
23
+ import typing
24
+ __all__ = ['BaseMatrix', 'BaseVector', 'BitArray', 'BlockVector', 'BramblePasciakCG', 'CG', 'CGSolver', 'EigenValues_Preconditioner', 'GMRes', 'GMResSolver', 'InnerProduct', 'LinearSolver', 'Matrix', 'MinRes', 'MinResSolver', 'Norm', 'PreconditionedRichardson', 'Preconditioner', 'Projector', 'QMR', 'QMRSolver', 'RichardsonSolver', 'TimeFunction', 'Vector', 'linear_solver_param_doc', 'log', 'logging', 'os', 'sqrt', 'update_plot']
25
+ class CGSolver(LinearSolver):
26
+ __firstlineno__: typing.ClassVar[int] = 180
27
+ __static_attributes__: typing.ClassVar[tuple] = ('conjugate')
28
+ name: typing.ClassVar[str] = 'CG'
29
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
30
+ ...
31
+ def __init__(self, *args, conjugate: bool = False, abstol: float = None, maxsteps: int = None, printing: bool = False, **kwargs):
32
+ ...
33
+ @property
34
+ def errors(self):
35
+ ...
36
+ class GMResSolver(LinearSolver):
37
+ __firstlineno__: typing.ClassVar[int] = 740
38
+ __static_attributes__: typing.ClassVar[tuple] = ('restart', 'norm', 'iterations', 'innerproduct')
39
+ name: typing.ClassVar[str] = 'GMRes'
40
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
41
+ ...
42
+ def __init__(self, *args, innerproduct: typing.Optional[typing.Callable[[ngsolve.la.BaseVector, ngsolve.la.BaseVector], typing.Union[float, complex]]] = None, restart: typing.Optional[int] = None, **kwargs):
43
+ ...
44
+ class LinearSolver(ngsolve.la.BaseMatrix):
45
+ __firstlineno__: typing.ClassVar[int] = 50
46
+ __static_attributes__: typing.ClassVar[tuple] = ('plt', 'callback_sol', 'residuals', 'pre', 'display', '_final_residual', 'iterations', 'fig', 'plotrates', 'tol', 'its', 'ax', 'maxiter', 'clear_output', 'sol', 'atol', 'printrates', 'callback', 'ress', 'mat')
47
+ name: typing.ClassVar[str] = 'LinearSolver'
48
+ @staticmethod
49
+ def Solve(*args, **kwargs):
50
+ ...
51
+ def CheckResidual(self, residual):
52
+ ...
53
+ def CreateVector(self, col):
54
+ ...
55
+ def Height(self) -> int:
56
+ ...
57
+ def IsComplex(self) -> bool:
58
+ ...
59
+ def Mult(self, x: ngsolve.la.BaseVector, y: ngsolve.la.BaseVector) -> None:
60
+ ...
61
+ def Update(self):
62
+ ...
63
+ def Width(self) -> int:
64
+ ...
65
+ def __init__(self, mat: ngsolve.la.BaseMatrix, pre: typing.Optional[ngsolve.comp.Preconditioner] = None, freedofs: typing.Optional[pyngcore.pyngcore.BitArray] = None, tol: float = None, maxiter: int = 100, atol: float = None, callback: typing.Optional[typing.Callable[[int, float], NoneType]] = None, callback_sol: typing.Optional[typing.Callable[[ngsolve.la.BaseVector], NoneType]] = None, printrates: bool = False, plotrates: bool = False):
66
+ ...
67
+ class MinResSolver(LinearSolver):
68
+ __firstlineno__: typing.ClassVar[int] = 502
69
+ __static_attributes__: typing.ClassVar[tuple] = tuple()
70
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
71
+ ...
72
+ def __init__(self, *args, **kwargs):
73
+ ...
74
+ class QMRSolver(LinearSolver):
75
+ __firstlineno__: typing.ClassVar[int] = 295
76
+ __static_attributes__: typing.ClassVar[tuple] = ('pre2', 'ep')
77
+ name: typing.ClassVar[str] = 'QMR'
78
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
79
+ ...
80
+ def __init__(self, *args, pre2: ngsolve.comp.Preconditioner = None, ep: float = 1.0, **kwargs):
81
+ ...
82
+ class RichardsonSolver(LinearSolver):
83
+ __firstlineno__: typing.ClassVar[int] = 642
84
+ __static_attributes__: typing.ClassVar[tuple] = ('dampfactor')
85
+ name: typing.ClassVar[str] = 'Richardson'
86
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
87
+ ...
88
+ def __init__(self, *args, dampfactor = 1.0, **kwargs):
89
+ ...
90
+ def BramblePasciakCG(A, B, C, f, g, preA, preS, maxit = 1000, tol = 1e-08, printrates = False):
91
+ ...
92
+ def CG(mat, rhs, pre = None, sol = None, tol = 1e-12, maxsteps = 100, printrates = True, plotrates = False, initialize = True, conjugate = False, callback = None, **kwargs):
93
+ """
94
+ preconditioned conjugate gradient method
95
+
96
+
97
+ Parameters
98
+ ----------
99
+
100
+ mat : Matrix
101
+ The left hand side of the equation to solve. The matrix has to be spd o hermitsch.
102
+
103
+ rhs : Vector
104
+ The right hand side of the equation.
105
+
106
+ pre : Preconditioner
107
+ If provided the preconditioner is used.
108
+
109
+ sol : Vector
110
+ Start vector for CG method, if initialize is set False. Gets overwritten by the solution vector. If sol = None then a new vector is created.
111
+
112
+ tol : double
113
+ Tolerance of the residuum. CG stops if tolerance is reached.
114
+
115
+ maxsteps : int
116
+ Number of maximal steps for CG. If the maximal number is reached before the tolerance is reached CG stops.
117
+
118
+ printrates : bool
119
+ If set to True then the error of the iterations is displayed.
120
+
121
+ plotrates : bool
122
+ If set to True then the error of the iterations is plotted.
123
+
124
+ initialize : bool
125
+ If set to True then the initial guess for the CG method is set to zero. Otherwise the values of the vector sol, if provided, is used.
126
+
127
+ conjugate : bool
128
+ If set to True, then the complex inner product is used.
129
+
130
+
131
+ Returns
132
+ -------
133
+ (vector)
134
+ Solution vector of the CG method.
135
+
136
+ """
137
+ def GMRes(A, b, pre = None, freedofs = None, x = None, maxsteps = 100, tol = None, innerproduct = None, callback = None, restart = None, startiteration = 0, printrates = True, reltol = None):
138
+ """
139
+ Restarting preconditioned gmres solver for A*x=b. Minimizes the preconditioned residuum pre*(b-A*x).
140
+
141
+ Parameters
142
+ ----------
143
+
144
+ A : BaseMatrix
145
+ The left hand side of the linear system.
146
+
147
+ b : BaseVector
148
+ The right hand side of the linear system.
149
+
150
+ pre : BaseMatrix = None
151
+ The preconditioner for the system. If no preconditioner is given, the freedofs
152
+ of the system must be given.
153
+
154
+ freedofs : BitArray = None
155
+ Freedofs to solve on, only necessary if no preconditioner is given.
156
+
157
+ x : BaseVector = None
158
+ Startvector, if given it will be modified in the routine and returned. Will be created
159
+ if not given.
160
+
161
+ maxsteps : int = 100
162
+ Maximum iteration steps.
163
+
164
+ tol : float = 1e-7
165
+
166
+ innerproduct : function = None
167
+ Innerproduct to be used in iteration, all orthogonalizations/norms are computed with
168
+ respect to that inner product.
169
+
170
+ callback : function = None
171
+ If given, this function is called with the solution vector x in each step. Only for debugging
172
+
173
+ restart : int = None
174
+ If given, gmres is restarted with the current solution x every 'restart' steps.
175
+
176
+ startiteration : int = 0
177
+ Internal value to count total number of iterations in restarted setup, no user input required
178
+ here.
179
+
180
+ printrates : bool = True
181
+ Print norm of preconditioned residual in each step.
182
+ """
183
+ def MinRes(mat, rhs, pre = None, sol = None, maxsteps = 100, printrates = True, initialize = True, tol = 1e-07):
184
+ """
185
+ Minimal Residuum method
186
+
187
+
188
+ Parameters
189
+ ----------
190
+
191
+ mat : Matrix
192
+ The left hand side of the equation to solve
193
+
194
+ rhs : Vector
195
+ The right hand side of the equation.
196
+
197
+ pre : Preconditioner
198
+ If provided the preconditioner is used.
199
+
200
+ sol : Vector
201
+ Start vector for MinRes method, if initialize is set False. Gets overwritten by the solution vector. If sol = None then a new vector is created.
202
+
203
+ maxsteps : int
204
+ Number of maximal steps for MinRes. If the maximal number is reached before the tolerance is reached MinRes stops.
205
+
206
+ printrates : bool
207
+ If set to True then the error of the iterations is displayed.
208
+
209
+ initialize : bool
210
+ If set to True then the initial guess for the MinRes method is set to zero. Otherwise the values of the vector sol, if prevented, is used.
211
+
212
+ tol : double
213
+ Tolerance of the residuum. MinRes stops if tolerance is reached.
214
+
215
+
216
+ Returns
217
+ -------
218
+ (vector)
219
+ Solution vector of the MinRes method.
220
+
221
+ """
222
+ def PreconditionedRichardson(a, rhs, pre = None, freedofs = None, maxit = 100, tol = 1e-08, dampfactor = 1.0, printing = True):
223
+ """
224
+ Preconditioned Richardson Iteration
225
+
226
+ Parameters
227
+ ----------
228
+ a : BilinearForm
229
+ The left hand side of the equation to solve
230
+
231
+ rhs : Vector
232
+ The right hand side of the equation.
233
+
234
+ pre : Preconditioner
235
+ If provided the preconditioner is used.
236
+
237
+ freedofs : BitArray
238
+ The FreeDofs on which the Richardson iteration acts. If argument is 'None' then the FreeDofs of the underlying FESpace is used.
239
+
240
+ maxit : int
241
+ Number of maximal iteration for Richardson iteration. If the maximal number is reached before the tolerance is reached a warning is displayed.
242
+
243
+ tol : double
244
+ Tolerance of the residuum. Richardson iteration stops if residuum < tolerance*initial_residuum is reached.
245
+
246
+ dampfactor : float
247
+ Set the damping factor for the Richardson iteration. If it is 1 then no damping is done. Values greater than 1 are allowed.
248
+
249
+ printing : bool
250
+ Set if Richardson iteration should print informations about the actual iteration like the residuum.
251
+
252
+ Returns
253
+ -------
254
+ (vector)
255
+ Solution vector of the Preconditioned Richardson iteration.
256
+
257
+ """
258
+ def QMR(mat, rhs, fdofs, pre1 = None, pre2 = None, sol = None, maxsteps = 100, printrates = True, initialize = True, ep = 1.0, tol = 1e-07):
259
+ """
260
+ Quasi Minimal Residuum method
261
+
262
+
263
+ Parameters
264
+ ----------
265
+
266
+ mat : Matrix
267
+ The left hand side of the equation to solve
268
+
269
+ rhs : Vector
270
+ The right hand side of the equation.
271
+
272
+ fdofs : BitArray
273
+ BitArray of free degrees of freedoms.
274
+
275
+ pre1 : Preconditioner
276
+ First preconditioner if provided
277
+
278
+ pre2 : Preconditioner
279
+ Second preconditioner if provided
280
+
281
+ sol : Vector
282
+ Start vector for QMR method, if initialize is set False. Gets overwritten by the solution vector. If sol = None then a new vector is created.
283
+
284
+ maxsteps : int
285
+ Number of maximal steps for QMR. If the maximal number is reached before the tolerance is reached QMR stops.
286
+
287
+ printrates : bool
288
+ If set to True then the error of the iterations is displayed.
289
+
290
+ initialize : bool
291
+ If set to True then the initial guess for the QMR method is set to zero. Otherwise the values of the vector sol, if provided, is used.
292
+
293
+ ep : double
294
+ Start epsilon.
295
+
296
+ tol : double
297
+ Tolerance of the residuum. QMR stops if tolerance is reached.
298
+
299
+
300
+ Returns
301
+ -------
302
+ (vector)
303
+ Solution vector of the QMR method.
304
+
305
+ """
306
+ def update_plot(plt, ax, its, ress):
307
+ ...
308
+ _clear_line_command: str = '\x1b[2K'
309
+ linear_solver_param_doc: str = '\nmat : BaseMatrix\n The left hand side of the equation to solve.\n\npre : Preconditioner, BaseMatrix = None\n If provided, the preconditioner for the system.\n\nfreedofs : BitArray = None\n If no preconditioner is provided, the BitArray of the FESpace freedofs must be given.\n\ntol : double = 1e-12\n Relative tolerance for the residuum reduction.\n\nmaxiter : int = 100\n Maximum number of iterations, if reached solver will emit a warning.\n\ncallback : Callable[[int, float], None] = None\n Callback function that is called with iteration number and residual in each iteration step.\n\ncallback_sol : Callable[[BaseVector], None] = None\n Callback function that is called with solution x_k in each iteration step.\n\nprintrates : bool = False\n Print iterations to stdout. One can give a string to be passed as an `end`\n argument to the print function, for example:\n >>> printrates="\r"\n will call\n >>> print("iteration = 1, residual = 1e-3", end="\r")\n if "\r" is passed, a final output will also be printed.\n\nplotrates : bool = False\n matplotlib plot of errors (residuals)\n'