@@ -44,28 +44,26 @@ function MatrixAlgebraKit.initialize_output(
44
44
45
45
brows = eachblockaxis (axes (A, 1 ))
46
46
bcols = eachblockaxis (axes (A, 2 ))
47
- s_axeses = Vector {eltype(brows)} (undef, bmn)
47
+ s_axes = Vector {eltype(brows)} (undef, bmn)
48
48
49
49
# fill in values for blocks that are present
50
50
bIs = collect (eachblockstoredindex (A))
51
51
browIs = Int .(first .(Tuple .(bIs)))
52
52
bcolIs = Int .(last .(Tuple .(bIs)))
53
53
for bI in eachblockstoredindex (A)
54
54
row, col = Int .(Tuple (bI))
55
- nrows = brows[row]
56
- ncols = bcols[col]
57
- s_axeses[col] = min (nrows, ncols)
55
+ s_axes[col] = argmin (length, (brows[row], bcols[col]))
58
56
end
59
57
60
58
# fill in values for blocks that aren't present, pairing them in order of occurence
61
59
# this is a convention, which at least gives the expected results for blockdiagonal
62
60
emptyrows = setdiff (1 : bm, browIs)
63
61
emptycols = setdiff (1 : bn, bcolIs)
64
62
for (row, col) in zip (emptyrows, emptycols)
65
- s_axeses [col] = min ( brows[row], bcols[col])
63
+ s_axes [col] = argmin (length, ( brows[row], bcols[col]) )
66
64
end
67
65
68
- s_axis = mortar_axis (s_axeses )
66
+ s_axis = mortar_axis (s_axes )
69
67
U, S, Vt = similar_output (svd_compact!, A, s_axis, alg)
70
68
71
69
# allocate output
0 commit comments