diff options
Diffstat (limited to 'sumofsquares/sosexprbase/init/initsosexprbase.py')
-rw-r--r-- | sumofsquares/sosexprbase/init/initsosexprbase.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sumofsquares/sosexprbase/init/initsosexprbase.py b/sumofsquares/sosexprbase/init/initsosexprbase.py index 6b7f299..9dade7e 100644 --- a/sumofsquares/sosexprbase/init/initsosexprbase.py +++ b/sumofsquares/sosexprbase/init/initsosexprbase.py @@ -30,20 +30,24 @@ def init_param_sos_expr_base( name: str, variables: polymatrix.Expression, monom: polymatrix.Expression | None = None, - n_rows: int | None = None, + n_row: int | None = None, + n_col: int | None = None, ): if monom is None: monom = polymatrix.from_(1) - if n_rows is None: - n_rows = 1 + if n_row == None: + n_row = 1 - if n_rows is 1: + if n_col == None: + n_col = 1 + + if n_row == 1 and n_col == 1: param = monom.parametrize(f'{name}') param_matrix = param.T else: - params = tuple(monom.parametrize(f'{name}_{row+1}') for row in range(n_rows)) + params = tuple(monom.parametrize(f'{name}_{row+1}_{col+1}') for col in range(n_col) for row in range(n_row)) param = polymatrix.v_stack(params) param_matrix = polymatrix.v_stack(tuple(param.T for param in params)) @@ -53,4 +57,5 @@ def init_param_sos_expr_base( monom=monom, variables=variables, param_matrix=param_matrix, + n_row=n_row, ) |