Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 50 additions & 74 deletions .basedpyright/baseline.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -5029,7 +5029,7 @@
"code": "reportUnknownVariableType",
"range": {
"startColumn": 12,
"endColumn": 21,
"endColumn": 25,
"lineCount": 1
}
},
Expand All@@ -5052,48 +5052,8 @@
{
"code": "reportUnknownVariableType",
"range": {
"startColumn": 12,
"endColumn": 13,
"lineCount": 1
}
},
{
"code": "reportUnknownVariableType",
"range": {
"startColumn": 16,
"endColumn": 29,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 28,
"endColumn": 35,
"lineCount": 1
}
},
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 34,
"endColumn": 45,
"lineCount": 1
}
},
{
"code": "reportUnknownVariableType",
"range": {
"startColumn": 12,
"endColumn": 25,
"lineCount": 1
}
},
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 40,
"endColumn": 53,
"startColumn": 8,
"endColumn": 17,
"lineCount": 1
}
},
Expand DownExpand Up@@ -5204,8 +5164,16 @@
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 31,
"endColumn": 44,
"startColumn": 30,
"endColumn": 56,
"lineCount": 1
}
},
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 42,
"endColumn": 55,
"lineCount": 1
}
},
Expand DownExpand Up@@ -5260,25 +5228,25 @@
{
"code": "reportUnknownMemberType",
"range": {
"startColumn": 57,
"endColumn": 76,
"startColumn": 12,
"endColumn": 31,
"lineCount": 1
}
},
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 62,
"endColumn": 52,
"lineCount": 2
"startColumn": 12,
"endColumn": 67,
"lineCount": 1
}
},
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 62,
"endColumn": 52,
"lineCount": 2
"startColumn": 12,
"endColumn": 67,
"lineCount": 1
}
},
{
Expand DownExpand Up@@ -5345,14 +5313,6 @@
"lineCount": 1
}
},
{
"code": "reportArgumentType",
"range": {
"startColumn": 30,
"endColumn": 53,
"lineCount": 1
}
},
{
"code": "reportUnknownVariableType",
"range": {
Expand DownExpand Up@@ -5485,15 +5445,23 @@
"code": "reportAny",
"range": {
"startColumn": 8,
"endColumn": 14,
"endColumn": 13,
"lineCount": 1
}
},
{
"code": "reportUnknownArgumentType",
"range": {
"startColumn": 25,
"endColumn": 39,
"startColumn": 24,
"endColumn": 38,
"lineCount": 1
}
},
{
"code": "reportAny",
"range": {
"startColumn": 11,
"endColumn": 36,
"lineCount": 1
}
}
Expand DownExpand Up@@ -5928,16 +5896,8 @@
{
"code": "reportUnknownMemberType",
"range": {
"startColumn": 18,
"endColumn": 25,
"lineCount": 1
}
},
{
"code": "reportUnknownMemberType",
"range": {
"startColumn": 28,
"endColumn": 68,
"startColumn": 25,
"endColumn": 65,
"lineCount": 1
}
},
Expand DownExpand Up@@ -40249,6 +40209,14 @@
"lineCount": 4
}
},
{
"code": "reportAbstractUsage",
"range": {
"startColumn": 19,
"endColumn": 18,
"lineCount": 4
}
},
{
"code": "reportCallIssue",
"range": {
Expand DownExpand Up@@ -40377,6 +40345,14 @@
"lineCount": 1
}
},
{
"code": "reportAbstractUsage",
"range": {
"startColumn": 19,
"endColumn": 18,
"lineCount": 4
}
},
{
"code": "reportCallIssue",
"range": {
Expand Down
12 changes: 9 additions & 3 deletions doc/conf.py
Original file line numberDiff line numberDiff line change
Expand Up@@ -38,9 +38,9 @@
# Sphinx started complaining about these in 8.2.1(-ish)
# -AK, 2025-02-24
["py:class", r"TypeAliasForwardRef"],
["py:class", r"arraycontext.typing._UserDefinedArrayContainer"],
["py:class", r"_ProxyNeighborEvaluationResult"],
["py:class", r"arraycontext.typing._UserDefinedArithArrayContainer"],
["py:class", r"TreeKind"],
["py:class", r"arraycontext.typing._UserDefinedArrayContainer"],
]


Expand All@@ -49,10 +49,13 @@
"NDArray": "obj:numpy.typing.NDArray",
"np.integer": "obj:numpy.integer",
"np.floating": "obj:numpy.floating",
"np.inexact": "obj:numpy.inexact",
"np.random.Generator": "class:numpy.random.Generator",
# pytools
"ObjectArrayND": "obj:pytools.obj_array.ObjectArrayND",
"T": "obj:pytools.T",
"obj_array.ObjectArray1D": "obj:pytools.obj_array.ObjectArray1D",
"obj_array.ObjectArray2D": "obj:pytools.obj_array.ObjectArray2D",
# pyopencl
"WaitList": "obj:pyopencl.WaitList",
# pymbolic
Expand All@@ -61,7 +64,9 @@
"MultiVector": "obj:pymbolic.geometric_algebra.MultiVector",
"Variable": "class:pymbolic.primitives.Variable",
# arraycontext
"ArrayContainer": "obj:arraycontext.ArrayContainer",
"ArrayOrContainerOrScalar": "obj:arraycontext.ArrayOrContainerOrScalar",
"ArrayOrContainerT": "obj:arraycontext.ArrayOrContainerT",
"PyOpenCLArrayContext": "class:arraycontext.PyOpenCLArrayContext",
"ScalarLike": "obj:arraycontext.ScalarLike",
# modepy
Expand All@@ -70,7 +75,7 @@
"Discretization": "class:meshmode.discretization.Discretization",
"DOFArray": "class:meshmode.dof_array.DOFArray",
# boxtree
# "TreeKind": "obj:boxtree.tree_build.TreeKind",
"TreeKind": "obj:boxtree.tree_build.TreeKind",
# sumpy
"ExpansionBase": "class:sumpy.expansion.ExpansionBase",
"ExpansionFactoryBase": "class:sumpy.expansion.ExpansionFactoryBase",
Expand All@@ -88,6 +93,7 @@
"data:pytential.symbolic.dof_desc.DOFDescriptorLike",
"sym.DOFDescriptor": "class:pytential.symbolic.dof_desc.DOFDescriptor",
"sym.IntG": "class:pytential.symbolic.primitives.IntG",
"sym.var": "obj:pytential.symbolic.primitives.var",
}


Expand Down
21 changes: 17 additions & 4 deletions doc/linalg.rst
Original file line numberDiff line numberDiff line change
Expand Up@@ -8,7 +8,7 @@ scheme is used:
component of the Stokeslet.
* ``cluster`` refers to a piece of a ``block`` as used by the recursive
proxy-based skeletonization of the direct solver algorithms. Clusters
are represented by a :class:`~pytential.linalg.TargetAndSourceClusterList`.
are represented by a :class:`~pytential.linalg.utils.TargetAndSourceClusterList`.

GMRES
-----
Expand All@@ -20,17 +20,30 @@ GMRES
Hierarchical Direct Solver
--------------------------

.. note::

High-level API for direct solvers is in progress.

Low-level Functionality
-----------------------

.. warning::

All the classes and routines in this module are experimental and the
API can change at any point.

.. automodule:: pytential.linalg.proxy
.. automodule:: pytential.linalg.utils
.. automodule:: pytential.linalg.skeletonization

Internal Functionality and Utilities
------------------------------------

Internal Functionality
----------------------
.. warning::

All the classes and routines in this module are experimental and the
API can change at any point.

.. automodule:: pytential.linalg.utils
.. automodule:: pytential.linalg.direct_solver_symbolic

.. vim: sw=4:tw=75:fdm=marker
9 changes: 0 additions & 9 deletions doc/misc.rst
Original file line numberDiff line numberDiff line change
Expand Up@@ -162,12 +162,3 @@ Andreas Klöckner's work on :mod:`pytential` was supported in part by
AK also gratefully acknowledges a hardware gift from Nvidia Corporation. The
views and opinions expressed herein do not necessarily reflect those of the
funding agencies.

Cross-References to Other Documentation
=======================================

.. currentmodule:: numpy

.. class:: int8

See :class:`numpy.generic`.
23 changes: 0 additions & 23 deletions pytential/linalg/__init__.py
Original file line numberDiff line numberDiff line change
Expand Up@@ -23,22 +23,6 @@
THE SOFTWARE.
"""

from pytential.linalg.proxy import (
ProxyClusterGeometryData,
ProxyGenerator,
ProxyGeneratorBase,
ProxyPointSource,
ProxyPointTarget,
QBXProxyGenerator,
gather_cluster_neighbor_points,
partition_by_nodes,
)
from pytential.linalg.skeletonization import (
SkeletonizationResult,
SkeletonizationWrangler,
make_skeletonization_wrangler,
skeletonize_by_proxy,
)
from pytential.linalg.utils import (
IndexList,
TargetAndSourceClusterList,
Expand All@@ -52,11 +36,4 @@
"IndexList", "TargetAndSourceClusterList",
"make_index_list", "make_index_cluster_cartesian_product",
"interp_decomp",

"ProxyClusterGeometryData", "ProxyPointTarget", "ProxyPointSource",
"ProxyGeneratorBase", "ProxyGenerator", "QBXProxyGenerator",
"partition_by_nodes", "gather_cluster_neighbor_points",

"SkeletonizationWrangler", "make_skeletonization_wrangler",
"SkeletonizationResult", "skeletonize_by_proxy",
)
2 changes: 2 additions & 0 deletions pytential/linalg/direct_solver_symbolic.py
Original file line numberDiff line numberDiff line change
Expand Up@@ -261,3 +261,5 @@ def __init__(self, source: DOFDescriptorLike, target: DOFDescriptorLike) -> None
self.operand_rec = _LocationReplacer(source, default_source=source)

# }}}

# vim: foldmethod=marker
16 changes: 0 additions & 16 deletions pytential/linalg/gmres.py
Original file line numberDiff line numberDiff line change
Expand Up@@ -24,26 +24,10 @@
"""

__doc__ = """

.. autofunction:: gmres

.. autoclass:: GMRESResult

.. autoexception:: GMRESError

.. autoclass:: ResidualPrinter

References
----------
.. class:: ArrayContainer

See :class:`arraycontext.ArrayContainer`.

.. currentmodule:: arraycontext.typing

.. class:: ArrayOrContainerT

See :class:`arraycontext.ArrayOrContainerT`.
"""

from dataclasses import dataclass
Expand Down
Loading
Loading