From 039b6aa6ed4b3351778185b9b53966d5414c0a88 Mon Sep 17 00:00:00 2001
From: Anton Akhmerov <anton.akhmerov@gmail.com>
Date: Wed, 6 Nov 2013 00:25:18 +0100
Subject: [PATCH] better code for numpy warning handling

---
 kwant/physics/leads.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/kwant/physics/leads.py b/kwant/physics/leads.py
index e7335a1..2e8ea9f 100644
--- a/kwant/physics/leads.py
+++ b/kwant/physics/leads.py
@@ -380,9 +380,8 @@ def unified_eigenproblem(a, b=None, tol=1e6):
         # Propagating modes.
         propselect = (abs(abs(alpha) - abs(beta)) < eps * abs(beta))
 
-        warning_settings = np.seterr(divide='ignore', invalid='ignore')
-        ev = alpha / beta
-        np.seterr(**warning_settings)
+        with np.errstate(divide='ignore', invalid='ignore'):
+            ev = alpha / beta
         # Note: the division is OK here, since we later only access
         #       eigenvalues close to the unit circle
 
-- 
GitLab