From d810a0cf2c53cf676629a73b3c903680d7c6664d Mon Sep 17 00:00:00 2001 From: Peter Wittek Date: Tue, 8 Dec 2015 11:59:11 +0100 Subject: [PATCH] Pylinted --- ncpol2sdpa/chordal_extension.py | 4 ++-- ncpol2sdpa/moroder_hierarchy.py | 3 ++- ncpol2sdpa/nc_utils.py | 15 +++------------ ncpol2sdpa/rdm_hierarchy.py | 4 ++-- ncpol2sdpa/sdp_relaxation.py | 32 ++++++++++++++------------------ ncpol2sdpa/solver_common.py | 6 +++--- ncpol2sdpa/steering_hierarchy.py | 5 +++-- 7 files changed, 29 insertions(+), 40 deletions(-) diff --git a/ncpol2sdpa/chordal_extension.py b/ncpol2sdpa/chordal_extension.py index 2824857..fdc06ef 100644 --- a/ncpol2sdpa/chordal_extension.py +++ b/ncpol2sdpa/chordal_extension.py @@ -108,8 +108,8 @@ def find_clique_index(variables, polynomial, clique_set): return -1 -def find_variable_cliques(variables, level, objective=0, substitutions=None, - inequalities=None, equalities=None): +def find_variable_cliques(variables, objective=0, inequalities=None, + equalities=None): if objective == 0 and inequalities is None and equalities is None: raise Exception("There is nothing to extract the chordal structure " + "from!") diff --git a/ncpol2sdpa/moroder_hierarchy.py b/ncpol2sdpa/moroder_hierarchy.py index 1955181..eabd52d 100644 --- a/ncpol2sdpa/moroder_hierarchy.py +++ b/ncpol2sdpa/moroder_hierarchy.py @@ -79,7 +79,8 @@ def _generate_all_moment_matrix_blocks(self, n_vars, block_index): def _calculate_block_structure(self, inequalities, equalities, bounds, momentinequalities, momentequalities, - extramomentmatrix, removeequalities): + extramomentmatrix, removeequalities, + block_struct=None): """Calculates the block_struct array for the output file. """ block_struct = [] diff --git a/ncpol2sdpa/nc_utils.py b/ncpol2sdpa/nc_utils.py index 9da06f9..111e902 100644 --- a/ncpol2sdpa/nc_utils.py +++ b/ncpol2sdpa/nc_utils.py @@ -610,21 +610,12 @@ def find_variable_set(variable_sets, polynomial): def is_number_type(exp): - if isinstance(exp, (int, float, complex, Number)): - return True - else: - return False + return isinstance(exp, (int, float, complex, Number)) def is_adjoint(exp): - if isinstance(exp, (adjoint, conjugate)): - return True - else: - return False + return isinstance(exp, (adjoint, conjugate)) def is_hermitian(exp): - if exp.is_hermitian or (exp.is_hermitian is None and exp.is_complex): - return True - else: - return False + return exp.is_hermitian or (exp.is_hermitian is None and exp.is_complex) diff --git a/ncpol2sdpa/rdm_hierarchy.py b/ncpol2sdpa/rdm_hierarchy.py index 10861aa..4b22261 100644 --- a/ncpol2sdpa/rdm_hierarchy.py +++ b/ncpol2sdpa/rdm_hierarchy.py @@ -6,7 +6,7 @@ """ import sys from math import sqrt -from sympy import expand, S +from sympy import S from sympy.physics.quantum.dagger import Dagger from .sdp_relaxation import SdpRelaxation from .nc_utils import apply_substitutions, is_number_type, \ @@ -255,7 +255,7 @@ def __generate_semisymmetric_moment_matrix(self, n_vars, block_index, return n_vars, block_index + 1, processed_entries def _generate_moment_matrix(self, n_vars, block_index, processed_entries, - monomialsA, monomialsB): + monomialsA, monomialsB, ppt=False): if self.circulant: if ncdegree(monomialsA[0]) == 1: return self.__second_moments(n_vars, monomialsA, block_index, diff --git a/ncpol2sdpa/sdp_relaxation.py b/ncpol2sdpa/sdp_relaxation.py index c2486b4..00ae759 100644 --- a/ncpol2sdpa/sdp_relaxation.py +++ b/ncpol2sdpa/sdp_relaxation.py @@ -8,10 +8,10 @@ @author: Peter Wittek """ from __future__ import division, print_function +import sys from math import floor -import numpy as np from sympy import S, Expr, expand -import sys +import numpy as np try: from scipy.linalg import qr from scipy.sparse import lil_matrix, hstack @@ -192,15 +192,15 @@ def __init__(self, variables, parameters=None, verbose=0, normalized=True): info += str(n_commutative_nonhermitian) + \ " commuting nonhermitian" if n_noncommutative_hermitian > 0: - if len(info) > 0: - info += ", " - info += str(n_noncommutative_hermitian) + \ - " noncommuting Hermitian" + if len(info) > 0: + info += ", " + info += str(n_noncommutative_hermitian) + \ + " noncommuting Hermitian" if n_noncommutative_nonhermitian > 0: - if len(info) > 0: - info += ", " - info += str(n_commutative_nonhermitian) + \ - " noncommuting nonhermitian" + if len(info) > 0: + info += ", " + info += str(n_commutative_nonhermitian) + \ + " noncommuting nonhermitian" if len(info) > 0: info += " variables" else: @@ -737,8 +737,7 @@ def _calculate_block_structure(self, inequalities, equalities, bounds, self.block_struct += [1, 1] self.localizing_monomial_sets = monomial_sets - def __generate_monomial_sets(self, objective, inequalities, equalities, - extramonomials): + def __generate_monomial_sets(self, extramonomials): if self.level == -1: if extramonomials is None or extramonomials == []: raise Exception("Cannot build relaxation at level -1 without \ @@ -811,8 +810,7 @@ def __wipe_F_struct_from_constraints(self): def process_constraints(self, inequalities=None, equalities=None, bounds=None, momentinequalities=None, momentequalities=None, block_index=0, - removeequalities=False, - localizing_monomial_sets=None): + removeequalities=False): """Process the constraints and generate localizing matrices. Useful only if the moment matrix already exists. Call it if you want to replace your constraints. The number of the respective types of @@ -1121,11 +1119,9 @@ def get_relaxation(self, level, objective=None, inequalities=None, if iscomplex(lhs) or iscomplex(rhs): self.complex_matrix = True if chordal_extension: - self.variables = find_variable_cliques(self.variables, level, - objective, substitutions, + self.variables = find_variable_cliques(self.variables, objective, inequalities, equalities) - self.__generate_monomial_sets(objective, inequalities, equalities, - extramonomials) + self.__generate_monomial_sets(extramonomials) self.localizing_monomial_sets = localizing_monomials if bounds is not None: diff --git a/ncpol2sdpa/solver_common.py b/ncpol2sdpa/solver_common.py index 2de3a2e..b98170b 100644 --- a/ncpol2sdpa/solver_common.py +++ b/ncpol2sdpa/solver_common.py @@ -4,9 +4,9 @@ @author: Peter Wittek """ -import numpy as np import time -from sympy import expand, simplify +import numpy as np +from sympy import expand try: from scipy.sparse import lil_matrix except ImportError: @@ -182,7 +182,7 @@ def get_sos_decomposition(sdpRelaxation, y_mat=None, threshold=0.0): elif sdpRelaxation.status != "unsolved" and y_mat is None: y_mat = sdpRelaxation.y_mat sos = [] - for block, y_mat_block in enumerate(y_mat): + for y_mat_block in y_mat: term = 0 vals, vecs = np.linalg.eigh(y_mat_block) for j, val in enumerate(vals): diff --git a/ncpol2sdpa/steering_hierarchy.py b/ncpol2sdpa/steering_hierarchy.py index d592484..9f63a5ea 100644 --- a/ncpol2sdpa/steering_hierarchy.py +++ b/ncpol2sdpa/steering_hierarchy.py @@ -107,7 +107,7 @@ def _process_monomial(self, monomial, n_vars): return k, coeff def _push_monomial(self, monomial, n_vars, row_offset, rowA, columnA, N, - rowB, columnB, lenB): + rowB, columnB, lenB, prevent_substitutions=False): monomial = apply_substitutions(monomial, self.substitutions, self.pure_substitution_rules) if is_number_type(monomial): @@ -246,7 +246,8 @@ def set_objective(self, objective, extraobjexpr=None): def _calculate_block_structure(self, inequalities, equalities, bounds, momentinequalities, momentequalities, - extramomentmatrix, removeequalities): + extramomentmatrix, removeequalities, + block_struct=None): """Calculates the block_struct array for the output file. """ super(SteeringHierarchy, self).\