Conversation
add8d42 to
de75fa8
Compare
169c617 to
840e8ff
Compare
eca3be7 to
2baf1f3
Compare
2baf1f3 to
72915ec
Compare
f3feb25 to
6efd2b6
Compare
6aae775 to
d89d687
Compare
d89d687 to
c0bc55a
Compare
64563d9 to
149f785
Compare
1fff384 to
5045ee9
Compare
ff25741 to
eaa5224
Compare
a4a312b to
cbd4860
Compare
cbd4860 to
7b942b6
Compare
39325fe to
c6c830a
Compare
86430ec to
8b8ec2a
Compare
46813d8 to
ffccac0
Compare
9a0341b to
06a015e
Compare
a6d3146 to
844a499
Compare
40ede23 to
6e37dd8
Compare
64a04c5 to
471a0c7
Compare
|
@inducer Gave this another read and it's looking very boring to me now (i.e. no big sketchy issues). It should be good to go! |
471a0c7 to
07f392e
Compare
07f392e to
0e6e4f7
Compare
|
LGTM, thanks! While I was reading, I saw various things I thought that would be nice to have, but generally nothing that I thought warranted holding this up. It's been long enough! |
@inducer Feel free to either leave the comments here or make an issue. I'll go through them with time! |
inducer
left a comment
There was a problem hiding this comment.
Thanks for offering! Left a few notes based on my read yesterday.
|
|
||
| # {{{ cluster matrix errors | ||
|
|
||
| def cluster_skeletonization_error( |
| return tgt_error, src_error | ||
|
|
||
|
|
||
| def skeletonization_error( |
| @@ -0,0 +1,645 @@ | |||
| __copyright__ = "Copyright (C) 2018-2022 Alexandru Fikl" | |||
There was a problem hiding this comment.
In this file, it of then took me a while to understand the shape of ndarrays. Mentioning what it is when it's not already specified would help!
| .. attribute:: L | ||
|
|
||
| A block diagonal :class:`~numpy.ndarray` object array. | ||
|
|
||
| .. attribute:: R | ||
|
|
||
| A block diagonal :class:`~numpy.ndarray` object array. |
There was a problem hiding this comment.
What's in the object array? What shape?
| """ | ||
|
|
||
| import scipy.linalg.interpolative as sli # pylint:disable=no-name-in-module | ||
| if rank is None: |
There was a problem hiding this comment.
Error if both rank and eps are specified?
| # {{{ interpolative decomposition | ||
|
|
||
| def interp_decomp( | ||
| A: np.ndarray, rank: Optional[int], eps: Optional[float], |
| replace(SKELETONIZE_TEST_CASES[0], op_type="double", knl_class_or_helmholtz_k=5), | ||
| ]) | ||
| def test_skeletonize_symbolic(actx_factory, case, visualize=False): | ||
| """Tests that the symbolic manipulations work for different kernels / IntGs.""" |
| def test_skeletonize_by_proxy_convergence( | ||
| actx_factory, case, weighted=True, | ||
| visualize=False): | ||
| """Test single-level level skeletonization accuracy.""" |
| @@ -0,0 +1,645 @@ | |||
| __copyright__ = "Copyright (C) 2018-2022 Alexandru Fikl" | |||
There was a problem hiding this comment.
Throughout this file, document the weighting schemes a bit better. I feel that might be hard to reverse-engineer later on.
Attempting to break up the direct solver MR into smaller, more reviewable pieces. As a rundown
linalg.proxy).Previously found https://gitlab.tiker.net/inducer/pytential/-/merge_requests/211.
The code for this is mostly in the deprecated https://gitlab.tiker.net/inducer/pytential/-/merge_requests/137.