pyANOVAapprox 2.0.0__tar.gz → 2.0.1__tar.gz
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.
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/PKG-INFO +1 -1
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/pyproject.toml +1 -1
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/src/pyANOVAapprox/approx.py +0 -2
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/src/pyANOVAapprox/bandwidth.py +11 -9
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/.github/workflows/ci.yml +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/.github/workflows/documentation.yml +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/.github/workflows/format.yml +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/.github/workflows/release.yml +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/.gitignore +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/LICENSE +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/README.md +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/docs/Makefile +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/docs/source/Analysis.rst +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/docs/source/Approximation.rst +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/docs/source/Errors.rst +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/docs/source/conf.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/docs/source/index.rst +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/simpleTest/TestFunctionPeriodic.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/simpleTest/exampleAutoapproximate.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/simpleTest/exampleCheb.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/simpleTest/exampleClassification.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/simpleTest/exampleNonPeriodic.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/simpleTest/examplePeriodic.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/simpleTest/exampleWavelet.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/src/pyANOVAapprox/__init__.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/src/pyANOVAapprox/analysis.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/src/pyANOVAapprox/errors.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/src/pyANOVAapprox/fista.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/src/pyANOVAapprox/trafos.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/TestFunctionCheb.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/TestFunctionPeriodic.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/cheb_fista.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/cheb_lsqr.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/per_fista.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/per_lsqr.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/run_tests.py +0 -0
- {pyanovaapprox-2.0.0 → pyanovaapprox-2.0.1}/tests/wav_lsqr.py +0 -0
|
@@ -246,8 +246,6 @@ class approx:
|
|
|
246
246
|
setting = self.getSetting(settingnr)
|
|
247
247
|
if settingnr is None:
|
|
248
248
|
settingnr = self.aktsetting
|
|
249
|
-
# print(setting.U)
|
|
250
|
-
# print(setting.N)
|
|
251
249
|
self.trafo[settingnr] = GroupedTransform(
|
|
252
250
|
system=gt_systems[setting.basis],
|
|
253
251
|
U=setting.U,
|
|
@@ -5,9 +5,11 @@ def getfcu(ghat, u):
|
|
|
5
5
|
idx = [s.u for s in ghat.settings].index(u)
|
|
6
6
|
bws = ghat.settings[idx].bandwidths
|
|
7
7
|
|
|
8
|
-
fcu = ghat[u].reshape(bws[::-1] - 1)
|
|
9
|
-
fcu = np.permute_dims(fcu, range(len(bws))[::-1])
|
|
10
|
-
|
|
8
|
+
#fcu = ghat[u].reshape(bws[::-1] - 1)
|
|
9
|
+
#fcu = np.permute_dims(fcu, range(len(bws))[::-1])
|
|
10
|
+
fcu = ghat[u].reshape(bws - 1)
|
|
11
|
+
fcu = np.permute_dims(fcu, range(len(bws)))
|
|
12
|
+
|
|
11
13
|
return fcu
|
|
12
14
|
|
|
13
15
|
|
|
@@ -30,7 +32,7 @@ def compute_bandwidth(B, D, t):
|
|
|
30
32
|
us = set(D.keys()) - {()}
|
|
31
33
|
bw = {u: [6] * len(u) for u in us}
|
|
32
34
|
bw[()] = []
|
|
33
|
-
|
|
35
|
+
|
|
34
36
|
minfreqs = sum(math.prod((bw[u][j] - 1) for j in range(len(u))) for u in us)
|
|
35
37
|
if B < minfreqs:
|
|
36
38
|
raise ValueError(f"Budget too small: {B} < {minfreqs}")
|
|
@@ -156,19 +158,19 @@ def estimate_rates(self, lam, settingnr=None, verbose=False):
|
|
|
156
158
|
)
|
|
157
159
|
|
|
158
160
|
if (idx is None) or idx >= len(axissum):
|
|
159
|
-
D[u][
|
|
160
|
-
t[u][
|
|
161
|
+
D[u][j] = math.nan
|
|
162
|
+
t[u][j] = math.nan
|
|
161
163
|
else:
|
|
162
164
|
idx = min(len(axissum), len(axissum) - idx + 2)
|
|
163
165
|
Duj, tuj = fitrate_log(np.cumsum((axissum[0:idx])[::-1])[::-1])
|
|
164
|
-
D[u][
|
|
165
|
-
t[u][
|
|
166
|
+
D[u][j] = Duj
|
|
167
|
+
t[u][j] = -tuj / 2
|
|
166
168
|
|
|
167
169
|
if verbose:
|
|
168
170
|
x = np.arange(1, idx + 1)
|
|
169
171
|
ax.plot(
|
|
170
172
|
x,
|
|
171
|
-
D[u][
|
|
173
|
+
D[u][j] * x ** (-2 * t[u][j]),
|
|
172
174
|
linewidth=2,
|
|
173
175
|
# color=j
|
|
174
176
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|