File tree Expand file tree Collapse file tree 1 file changed +16
-9
lines changed
Expand file tree Collapse file tree 1 file changed +16
-9
lines changed Original file line number Diff line number Diff line change @@ -97,19 +97,26 @@ def preconditioner(
9797 klass = None
9898 if not isinstance (d , sp .csc_matrix ):
9999 klass = d .__class__
100- d = sp .csc_matrix (d )
101- elif copy :
102- d = d .copy ()
100+ d_csc = sp .csc_matrix (d )
101+ else :
102+ assert isinstance (d , sp .csc_matrix )
103+ d_csc = d
104+ if copy :
105+ d_csc = d .copy ()
103106
104- cond = cast (linearmodels .typing .data .Float64Array , np .sqrt (d .multiply (d ).sum (0 )).A1 )
105- locs = np .zeros_like (d .indices )
106- locs [d .indptr [1 :- 1 ]] = 1
107+ cond = cast (
108+ linearmodels .typing .data .Float64Array , np .sqrt (d_csc .multiply (d_csc ).sum (0 )).A1
109+ )
110+ locs = np .zeros_like (d_csc .indices )
111+ locs [d_csc .indptr [1 :- 1 ]] = 1
107112 locs = np .cumsum (locs )
108- d .data /= np .take (cond , locs )
113+ d_csc .data /= np .take (cond , locs )
109114 if klass is not None :
110- d = klass (d )
115+ d_out = klass (d_csc )
116+ else :
117+ d_out = d_csc
111118
112- return d , cond
119+ return d_out , cond
113120
114121
115122def dummy_matrix (
You can’t perform that action at this time.
0 commit comments