From ba78fbd10c93b2161eabdbdac5b6ce7cb0ef38b6 Mon Sep 17 00:00:00 2001 From: Theo Steininger <theos@mpa-garching.mpg.de> Date: Thu, 9 Feb 2017 11:58:16 +0100 Subject: [PATCH] Added probing.py --- demos/probing.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 demos/probing.py diff --git a/demos/probing.py b/demos/probing.py new file mode 100644 index 000000000..e6375a18b --- /dev/null +++ b/demos/probing.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +from nifty import Field, RGSpace, DiagonalProberMixin, TraceProberMixin,\ + Prober, DiagonalOperator + + +class DiagonalProber(DiagonalProberMixin, Prober): + pass + + +class MultiProber(DiagonalProberMixin, TraceProberMixin, Prober): + pass + + +x = RGSpace((8, 8)) + +f = Field.from_random(domain=x, random_type='normal') +diagOp = DiagonalOperator(domain=x, diagonal=f) + +diagProber = DiagonalProber(domain=x) +diagProber(diagOp) +print (f - diagProber.diagonal).norm() + +multiProber = MultiProber(domain=x) +multiProber(diagOp) +print (f - multiProber.diagonal).norm() +print f.sum() - multiProber.trace + + + -- GitLab