ngsolve 6.2.2501.post47.dev1__cp312-cp312-macosx_10_15_universal2.whl → 6.2.2501.post55.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 +2187 -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 +1109 -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.post55.dev1.data/data/Netgen.icns +0 -0
  248. ngsolve-6.2.2501.post55.dev1.data/data/bin/ngscxx +17 -0
  249. ngsolve-6.2.2501.post55.dev1.data/data/bin/ngsld +13 -0
  250. ngsolve-6.2.2501.post55.dev1.data/data/bin/ngsolve.tcl +648 -0
  251. ngsolve-6.2.2501.post55.dev1.data/data/bin/ngspy +2 -0
  252. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/beam.geo +17 -0
  253. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/beam.vol +240 -0
  254. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/chip.in2d +41 -0
  255. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/chip.vol +614 -0
  256. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/coil.geo +12 -0
  257. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/coil.vol +2560 -0
  258. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/coilshield.geo +24 -0
  259. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/coilshield.vol +3179 -0
  260. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/cube.geo +19 -0
  261. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/cube.vol +1832 -0
  262. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d10_DGdoubleglazing.pde +50 -0
  263. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d11_chip_nitsche.pde +40 -0
  264. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d1_square.pde +43 -0
  265. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d2_chip.pde +35 -0
  266. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d3_helmholtz.pde +22 -0
  267. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d4_cube.pde +46 -0
  268. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d5_beam.pde +74 -0
  269. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d6_shaft.pde +73 -0
  270. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d7_coil.pde +50 -0
  271. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d8_coilshield.pde +49 -0
  272. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/d9_hybridDG.pde +72 -0
  273. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/doubleglazing.in2d +27 -0
  274. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/doubleglazing.vol +737 -0
  275. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
  276. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/shaft.geo +73 -0
  277. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/shaft.vol +4291 -0
  278. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/square.in2d +17 -0
  279. ngsolve-6.2.2501.post55.dev1.data/data/share/ngsolve/square.vol +149 -0
  280. {ngsolve-6.2.2501.post47.dev1.dist-info → ngsolve-6.2.2501.post55.dev1.dist-info}/METADATA +2 -2
  281. ngsolve-6.2.2501.post55.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.post55.dev1.dist-info}/LICENSE +0 -0
  284. {ngsolve-6.2.2501.post47.dev1.dist-info → ngsolve-6.2.2501.post55.dev1.dist-info}/WHEEL +0 -0
  285. {ngsolve-6.2.2501.post47.dev1.dist-info → ngsolve-6.2.2501.post55.dev1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,301 @@
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
+ name: typing.ClassVar[str] = 'CG'
27
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
28
+ ...
29
+ def __init__(self, *args, conjugate: bool = False, abstol: float = None, maxsteps: int = None, printing: bool = False, **kwargs):
30
+ ...
31
+ @property
32
+ def errors(self):
33
+ ...
34
+ class GMResSolver(LinearSolver):
35
+ name: typing.ClassVar[str] = 'GMRes'
36
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
37
+ ...
38
+ 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):
39
+ ...
40
+ class LinearSolver(ngsolve.la.BaseMatrix):
41
+ name: typing.ClassVar[str] = 'LinearSolver'
42
+ @staticmethod
43
+ def Solve(*args, **kwargs):
44
+ ...
45
+ def CheckResidual(self, residual):
46
+ ...
47
+ def CreateVector(self, col):
48
+ ...
49
+ def Height(self) -> int:
50
+ ...
51
+ def IsComplex(self) -> bool:
52
+ ...
53
+ def Mult(self, x: ngsolve.la.BaseVector, y: ngsolve.la.BaseVector) -> None:
54
+ ...
55
+ def Update(self):
56
+ ...
57
+ def Width(self) -> int:
58
+ ...
59
+ 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):
60
+ ...
61
+ class MinResSolver(LinearSolver):
62
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
63
+ ...
64
+ def __init__(self, *args, **kwargs):
65
+ ...
66
+ class QMRSolver(LinearSolver):
67
+ name: typing.ClassVar[str] = 'QMR'
68
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
69
+ ...
70
+ def __init__(self, *args, pre2: ngsolve.comp.Preconditioner = None, ep: float = 1.0, **kwargs):
71
+ ...
72
+ class RichardsonSolver(LinearSolver):
73
+ name: typing.ClassVar[str] = 'Richardson'
74
+ def _SolveImpl(self, rhs: ngsolve.la.BaseVector, sol: ngsolve.la.BaseVector):
75
+ ...
76
+ def __init__(self, *args, dampfactor = 1.0, **kwargs):
77
+ ...
78
+ def BramblePasciakCG(A, B, C, f, g, preA, preS, maxit = 1000, tol = 1e-08, printrates = False):
79
+ ...
80
+ def CG(mat, rhs, pre = None, sol = None, tol = 1e-12, maxsteps = 100, printrates = True, plotrates = False, initialize = True, conjugate = False, callback = None, **kwargs):
81
+ """
82
+ preconditioned conjugate gradient method
83
+
84
+
85
+ Parameters
86
+ ----------
87
+
88
+ mat : Matrix
89
+ The left hand side of the equation to solve. The matrix has to be spd o hermitsch.
90
+
91
+ rhs : Vector
92
+ The right hand side of the equation.
93
+
94
+ pre : Preconditioner
95
+ If provided the preconditioner is used.
96
+
97
+ sol : Vector
98
+ 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.
99
+
100
+ tol : double
101
+ Tolerance of the residuum. CG stops if tolerance is reached.
102
+
103
+ maxsteps : int
104
+ Number of maximal steps for CG. If the maximal number is reached before the tolerance is reached CG stops.
105
+
106
+ printrates : bool
107
+ If set to True then the error of the iterations is displayed.
108
+
109
+ plotrates : bool
110
+ If set to True then the error of the iterations is plotted.
111
+
112
+ initialize : bool
113
+ 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.
114
+
115
+ conjugate : bool
116
+ If set to True, then the complex inner product is used.
117
+
118
+
119
+ Returns
120
+ -------
121
+ (vector)
122
+ Solution vector of the CG method.
123
+
124
+
125
+ """
126
+ 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):
127
+ """
128
+ Restarting preconditioned gmres solver for A*x=b. Minimizes the preconditioned residuum pre*(b-A*x).
129
+
130
+ Parameters
131
+ ----------
132
+
133
+ A : BaseMatrix
134
+ The left hand side of the linear system.
135
+
136
+ b : BaseVector
137
+ The right hand side of the linear system.
138
+
139
+ pre : BaseMatrix = None
140
+ The preconditioner for the system. If no preconditioner is given, the freedofs
141
+ of the system must be given.
142
+
143
+ freedofs : BitArray = None
144
+ Freedofs to solve on, only necessary if no preconditioner is given.
145
+
146
+ x : BaseVector = None
147
+ Startvector, if given it will be modified in the routine and returned. Will be created
148
+ if not given.
149
+
150
+ maxsteps : int = 100
151
+ Maximum iteration steps.
152
+
153
+ tol : float = 1e-7
154
+
155
+ innerproduct : function = None
156
+ Innerproduct to be used in iteration, all orthogonalizations/norms are computed with
157
+ respect to that inner product.
158
+
159
+ callback : function = None
160
+ If given, this function is called with the solution vector x in each step. Only for debugging
161
+
162
+ restart : int = None
163
+ If given, gmres is restarted with the current solution x every 'restart' steps.
164
+
165
+ startiteration : int = 0
166
+ Internal value to count total number of iterations in restarted setup, no user input required
167
+ here.
168
+
169
+ printrates : bool = True
170
+ Print norm of preconditioned residual in each step.
171
+ """
172
+ def MinRes(mat, rhs, pre = None, sol = None, maxsteps = 100, printrates = True, initialize = True, tol = 1e-07):
173
+ """
174
+ Minimal Residuum method
175
+
176
+
177
+ Parameters
178
+ ----------
179
+
180
+ mat : Matrix
181
+ The left hand side of the equation to solve
182
+
183
+ rhs : Vector
184
+ The right hand side of the equation.
185
+
186
+ pre : Preconditioner
187
+ If provided the preconditioner is used.
188
+
189
+ sol : Vector
190
+ 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.
191
+
192
+ maxsteps : int
193
+ Number of maximal steps for MinRes. If the maximal number is reached before the tolerance is reached MinRes stops.
194
+
195
+ printrates : bool
196
+ If set to True then the error of the iterations is displayed.
197
+
198
+ initialize : bool
199
+ 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.
200
+
201
+ tol : double
202
+ Tolerance of the residuum. MinRes stops if tolerance is reached.
203
+
204
+
205
+ Returns
206
+ -------
207
+ (vector)
208
+ Solution vector of the MinRes method.
209
+
210
+
211
+ """
212
+ def PreconditionedRichardson(a, rhs, pre = None, freedofs = None, maxit = 100, tol = 1e-08, dampfactor = 1.0, printing = True):
213
+ """
214
+ Preconditioned Richardson Iteration
215
+
216
+ Parameters
217
+ ----------
218
+ a : BilinearForm
219
+ The left hand side of the equation to solve
220
+
221
+ rhs : Vector
222
+ The right hand side of the equation.
223
+
224
+ pre : Preconditioner
225
+ If provided the preconditioner is used.
226
+
227
+ freedofs : BitArray
228
+ The FreeDofs on which the Richardson iteration acts. If argument is 'None' then the FreeDofs of the underlying FESpace is used.
229
+
230
+ maxit : int
231
+ Number of maximal iteration for Richardson iteration. If the maximal number is reached before the tolerance is reached a warning is displayed.
232
+
233
+ tol : double
234
+ Tolerance of the residuum. Richardson iteration stops if residuum < tolerance*initial_residuum is reached.
235
+
236
+ dampfactor : float
237
+ Set the damping factor for the Richardson iteration. If it is 1 then no damping is done. Values greater than 1 are allowed.
238
+
239
+ printing : bool
240
+ Set if Richardson iteration should print informations about the actual iteration like the residuum.
241
+
242
+ Returns
243
+ -------
244
+ (vector)
245
+ Solution vector of the Preconditioned Richardson iteration.
246
+
247
+
248
+ """
249
+ def QMR(mat, rhs, fdofs, pre1 = None, pre2 = None, sol = None, maxsteps = 100, printrates = True, initialize = True, ep = 1.0, tol = 1e-07):
250
+ """
251
+ Quasi Minimal Residuum method
252
+
253
+
254
+ Parameters
255
+ ----------
256
+
257
+ mat : Matrix
258
+ The left hand side of the equation to solve
259
+
260
+ rhs : Vector
261
+ The right hand side of the equation.
262
+
263
+ fdofs : BitArray
264
+ BitArray of free degrees of freedoms.
265
+
266
+ pre1 : Preconditioner
267
+ First preconditioner if provided
268
+
269
+ pre2 : Preconditioner
270
+ Second preconditioner if provided
271
+
272
+ sol : Vector
273
+ 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.
274
+
275
+ maxsteps : int
276
+ Number of maximal steps for QMR. If the maximal number is reached before the tolerance is reached QMR stops.
277
+
278
+ printrates : bool
279
+ If set to True then the error of the iterations is displayed.
280
+
281
+ initialize : bool
282
+ 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.
283
+
284
+ ep : double
285
+ Start epsilon.
286
+
287
+ tol : double
288
+ Tolerance of the residuum. QMR stops if tolerance is reached.
289
+
290
+
291
+ Returns
292
+ -------
293
+ (vector)
294
+ Solution vector of the QMR method.
295
+
296
+
297
+ """
298
+ def update_plot(plt, ax, its, ress):
299
+ ...
300
+ _clear_line_command: str = '\x1b[2K'
301
+ 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'