From 49218708247688b4173f536ea75b66ce80f5c7a5 Mon Sep 17 00:00:00 2001 From: Philipp Arras <parras@mpa-garching.mpg.de> Date: Thu, 14 Nov 2019 18:51:59 +0100 Subject: [PATCH] Actually return amplitude in one-space case --- demos/find_amplitude_parameters.py | 2 +- demos/getting_started_3.py | 2 +- demos/getting_started_mf.py | 4 ++-- demos/newamplitudes.py | 2 +- nifty5/library/correlated_fields.py | 14 ++++++++++++-- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/demos/find_amplitude_parameters.py b/demos/find_amplitude_parameters.py index d470e20ba..1d7c76b8f 100644 --- a/demos/find_amplitude_parameters.py +++ b/demos/find_amplitude_parameters.py @@ -38,7 +38,7 @@ if __name__ == '__main__': fa.add_fluctuations(ift.RGSpace(32), 3, 5, 1, 1e-6, 2, 1e-6, slope_means[1], 1, 'freq') correlated_field = fa.finalize() - amplitudes = fa.amplitudes + amplitudes = fa.normalized_amplitudes plt.style.use('seaborn-notebook') tgt = correlated_field.target diff --git a/demos/getting_started_3.py b/demos/getting_started_3.py index 3d1e66f18..5f0525207 100644 --- a/demos/getting_started_3.py +++ b/demos/getting_started_3.py @@ -61,7 +61,7 @@ if __name__ == '__main__': cfmaker.add_fluctuations(position_space, 1., 1e-2, 1, .5, .1, .5, -3, 0.5, '') correlated_field = cfmaker.finalize() - A = cfmaker.amplitudes[0] + A = cfmaker.amplitude # Apply a nonlinearity signal = ift.sigmoid(correlated_field) diff --git a/demos/getting_started_mf.py b/demos/getting_started_mf.py index 3d22942fe..0a6232da3 100644 --- a/demos/getting_started_mf.py +++ b/demos/getting_started_mf.py @@ -78,8 +78,8 @@ if __name__ == '__main__': -1.5, .5, 'amp2') correlated_field = cfmaker.finalize() - A1 = cfmaker.amplitudes[0] - A2 = cfmaker.amplitudes[1] + A1 = cfmaker.normalized_amplitudes[0] + A2 = cfmaker.normalized_amplitudes[1] DC = SingleDomain(correlated_field.target, position_space) # Apply a nonlinearity diff --git a/demos/newamplitudes.py b/demos/newamplitudes.py index b0164ab9d..9c236490f 100644 --- a/demos/newamplitudes.py +++ b/demos/newamplitudes.py @@ -7,7 +7,7 @@ sspace = ift.RGSpace((128,)) fa = ift.CorrelatedFieldMaker.make(10, 0.1, '') fa.add_fluctuations(sspace, 10, 2, 1, 1e-6, 2, 1e-6, -2, 1e-6, 'spatial') op = fa.finalize() -A = fa.amplitudes[0] +A = fa.amplitude cstpos = ift.from_random('normal', op.domain) p1, p2 = [ift.Plot() for _ in range(2)] diff --git a/nifty5/library/correlated_fields.py b/nifty5/library/correlated_fields.py index 2169fedd9..7fbfc578a 100644 --- a/nifty5/library/correlated_fields.py +++ b/nifty5/library/correlated_fields.py @@ -372,7 +372,7 @@ class CorrelatedFieldMaker: lst = [('Offset amplitude', self.amplitude_total_offset), ('Total fluctuation amplitude', self.total_fluctuation)] - namps = len(self.amplitudes) + namps = len(self._a) if namps > 1: for ii in range(namps): lst.append(('Slice fluctuation (space {})'.format(ii), @@ -399,9 +399,19 @@ class CorrelatedFieldMaker: return fluctuations_slice_mean/np.mean(np.sqrt(scm)) @property - def amplitudes(self): + def normalized_amplitudes(self): return self._a + @property + def amplitude(self): + if len(self._a) > 1: + s = ('If more than one spectrum is present in the model,', + ' no unique set of amplitudes exist because only the', + ' relative scale is determined.') + raise NotImplementedError(s) + expand = VdotOperator(full(self._a[0].target, 1)).adjoint + return self._a[0]*(expand @ self.amplitude_total_offset) + @property def amplitude_total_offset(self): return self._azm -- GitLab