@@ -120,9 +120,10 @@ householder_lq!(driver::Union{CUSOLVER, ROCSOLVER, GLA}, A, L, Q; kwargs...) =
120120 lq_via_qr! (A, L, Q, Householder (; driver, kwargs... ))
121121function householder_lq! (
122122 driver:: LAPACK , A:: AbstractMatrix , L:: AbstractMatrix , Q:: AbstractMatrix ;
123- positive = true , pivoted = false ,
124- blocksize = ((pivoted || A === Q) ? 1 : YALAPACK. default_qr_blocksize (A))
123+ positive = true , pivoted = false , blocksize:: Int = 0
125124 )
125+ blocksize = blocksize > 0 ? blocksize : ((pivoted || A === Q) ? 1 : YALAPACK. default_qr_blocksize (A))
126+
126127 # error messages for disallowing driver - setting combinations
127128 pivoted && (blocksize > 1 ) &&
128129 throw (ArgumentError (lazy " $driver does not provide a blocked pivoted LQ decomposition" ))
@@ -176,10 +177,10 @@ function householder_lq!(
176177end
177178function householder_lq! (
178179 driver:: Native , A:: AbstractMatrix , L:: AbstractMatrix , Q:: AbstractMatrix ;
179- positive:: Bool = true , pivoted:: Bool = false , blocksize:: Int = 1
180+ positive:: Bool = true , pivoted:: Bool = false , blocksize:: Int = 0
180181 )
181182 # error messages for disallowing driver - setting combinations
182- blocksize = = 1 ||
183+ blocksize < = 1 ||
183184 throw (ArgumentError (lazy " $driver does not provide a blocked LQ decomposition" ))
184185 pivoted &&
185186 throw (ArgumentError (lazy " $driver does not provide a pivoted LQ decomposition" ))
@@ -225,8 +226,10 @@ householder_lq_null!(driver::Union{CUSOLVER, ROCSOLVER, GLA}, A, Nᴴ; kwargs...
225226 lq_null_via_qr! (A, Nᴴ, Householder (; driver, kwargs... ))
226227function householder_lq_null! (
227228 driver:: LAPACK , A:: AbstractMatrix , Nᴴ:: AbstractMatrix ;
228- positive:: Bool = true , pivoted:: Bool = false , blocksize:: Int = pivoted ? 1 : YALAPACK . default_qr_blocksize (A)
229+ positive:: Bool = true , pivoted:: Bool = false , blocksize:: Int = 0
229230 )
231+ blocksize = blocksize > 0 ? blocksize : (pivoted ? 1 : YALAPACK. default_qr_blocksize (A))
232+
230233 # error messages for disallowing driver - setting combinations
231234 pivoted && (blocksize > 1 ) &&
232235 throw (ArgumentError (lazy " $driver does not provide a blocked pivoted LQ decomposition" ))
@@ -248,10 +251,10 @@ function householder_lq_null!(
248251end
249252function householder_lq_null! (
250253 driver:: Native , A:: AbstractMatrix , Nᴴ:: AbstractMatrix ;
251- positive:: Bool = true , pivoted:: Bool = false , blocksize:: Int = 1
254+ positive:: Bool = true , pivoted:: Bool = false , blocksize:: Int = 0
252255 )
253256 # error messages for disallowing driver - setting combinations
254- blocksize = = 1 ||
257+ blocksize < = 1 ||
255258 throw (ArgumentError (lazy " $driver does not provide a blocked LQ decomposition" ))
256259 pivoted &&
257260 throw (ArgumentError (lazy " $driver does not provide a pivoted LQ decomposition" ))
0 commit comments