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