From b9c7b7c5893caf55481eaa81cacecc1731908d95 Mon Sep 17 00:00:00 2001 From: William de Vazelhes Date: Fri, 18 May 2018 17:32:19 +0200 Subject: [PATCH] Deals with scipy's new version, where eigsh can call eigh. --- metric_learn/lfda.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/metric_learn/lfda.py b/metric_learn/lfda.py index dbe5aa4f..809f092b 100644 --- a/metric_learn/lfda.py +++ b/metric_learn/lfda.py @@ -139,10 +139,11 @@ def _sum_outer(x): def _eigh(a, b, dim): try: return scipy.sparse.linalg.eigsh(a, k=dim, M=b, which='LA') - except (ValueError, scipy.sparse.linalg.ArpackNoConvergence): - pass - try: - return scipy.linalg.eigh(a, b) except np.linalg.LinAlgError: - pass + pass # scipy already tried eigh for us + except (ValueError, scipy.sparse.linalg.ArpackNoConvergence): + try: + return scipy.linalg.eigh(a, b) + except np.linalg.LinAlgError: + pass return scipy.linalg.eig(a, b)