@@ -172,8 +172,8 @@ def print_subproblem_ranks(self, subproblems=None, target=0):
172172 for i , sp in enumerate (subproblems ):
173173 if not hasattr (sp , 'L_min' ):
174174 continue
175- L = sp .L_min .A
176- M = sp .M_min .A
175+ L = sp .L_min .toarray ()
176+ M = sp .M_min .toarray ()
177177 A = L + target * M
178178 print (f"MPI rank: { self .dist .comm .rank } , subproblem: { i } , group: { sp .group } , matrix rank: { np .linalg .matrix_rank (A )} /{ A .shape [0 ]} , cond: { np .linalg .cond (A ):.1e} " )
179179
@@ -205,15 +205,15 @@ def solve_dense(self, subproblem, rebuild_matrices=False, left=False, normalize_
205205 if rebuild_matrices or not hasattr (sp , 'L_min' ):
206206 self .build_matrices ([sp ], ['M' , 'L' ])
207207 # Solve as dense general eigenvalue problem
208- A = sp .L_min .A
209- B = - sp .M_min .A
208+ A = sp .L_min .toarray ()
209+ B = - sp .M_min .toarray ()
210210 eig_output = scipy .linalg .eig (A , b = B , left = left , ** kw )
211211 # Unpack output
212212 if left :
213213 self .eigenvalues , pre_left_evecs , pre_right_evecs = eig_output
214214 self .right_eigenvectors = self .eigenvectors = sp .pre_right @ pre_right_evecs
215- self .left_eigenvectors = sp .pre_left .H @ pre_left_evecs
216- self .modified_left_eigenvectors = (sp .M_min @ sp .pre_right_pinv ).H @ pre_left_evecs
215+ self .left_eigenvectors = sp .pre_left .conj (). toarray () @ pre_left_evecs
216+ self .modified_left_eigenvectors = (sp .M_min @ sp .pre_right_pinv ).conj (). toarray () @ pre_left_evecs
217217 if normalize_left :
218218 norms = np .diag (pre_left_evecs .T .conj () @ sp .M_min @ pre_right_evecs )
219219 self .left_eigenvectors /= np .conj (norms )
@@ -270,8 +270,8 @@ def solve_sparse(self, subproblem, N, target, rebuild_matrices=False, left=False
270270 # Note: this definition of "left eigenvectors" is consistent with the documentation for scipy.linalg.eig
271271 self .eigenvalues , pre_right_evecs , self .left_eigenvalues , pre_left_evecs = eig_output
272272 self .right_eigenvectors = self .eigenvectors = sp .pre_right @ pre_right_evecs
273- self .left_eigenvectors = sp .pre_left .H @ pre_left_evecs
274- self .modified_left_eigenvectors = (sp .M_min @ sp .pre_right_pinv ).H @ pre_left_evecs
273+ self .left_eigenvectors = sp .pre_left .conj (). toarray () @ pre_left_evecs
274+ self .modified_left_eigenvectors = (sp .M_min @ sp .pre_right_pinv ).conj (). toarray () @ pre_left_evecs
275275 # Check that eigenvalues match
276276 if not np .allclose (self .eigenvalues , np .conjugate (self .left_eigenvalues )):
277277 if raise_on_mismatch :
@@ -363,7 +363,7 @@ def print_subproblem_ranks(self, subproblems=None):
363363 for i , sp in enumerate (subproblems ):
364364 if not hasattr (sp , 'L_min' ):
365365 continue
366- L = sp .L_min .A
366+ L = sp .L_min .toarray ()
367367 print (f"MPI rank: { self .dist .comm .rank } , subproblem: { i } , group: { sp .group } , matrix rank: { np .linalg .matrix_rank (L )} /{ L .shape [0 ]} , cond: { np .linalg .cond (L ):.1e} " )
368368
369369 def solve (self , subproblems = None , rebuild_matrices = False ):
@@ -464,7 +464,7 @@ def print_subproblem_ranks(self, subproblems=None):
464464 for i , sp in enumerate (subproblems ):
465465 if not hasattr (sp , 'dF_min' ):
466466 continue
467- dF = sp .dF_min .A
467+ dF = sp .dF_min .toarray ()
468468 print (f"MPI rank: { self .dist .comm .rank } , subproblem: { i } , group: { sp .group } , matrix rank: { np .linalg .matrix_rank (dF )} /{ dF .shape [0 ]} , cond: { np .linalg .cond (dF ):.1e} " )
469469
470470 def newton_iteration (self , damping = 1 ):
@@ -739,7 +739,7 @@ def print_subproblem_ranks(self, subproblems=None, dt=1):
739739 for i , sp in enumerate (subproblems ):
740740 M = sp .M_min
741741 L = sp .L_min
742- A = (M + dt * L ).A
742+ A = (M + dt * L ).toarray ()
743743 print (f"MPI rank: { self .dist .comm .rank } , subproblem: { i } , group: { sp .group } , matrix rank: { np .linalg .matrix_rank (A )} /{ A .shape [0 ]} , cond: { np .linalg .cond (A ):.1e} " )
744744
745745 def evaluate_handlers_now (self , dt , handlers = None ):
0 commit comments