I have an implementation of Algorithm 4 from this paper that works on julia 0.6, but is failing on julia 0.7. The crux of the issue can be demonstrated with these two lines of code:
U, T = qr(randn(10, 5))#analogous to line 3 in the paper's algorithm T \ (transpose(U) * randn(10, 5))#analogous to line 4 in the paper's algorithm
Julia 0.7 complains about a dimension mismatch between
transpose(U) * randn(10, 5) on the second line. This makes sense since
size(T) == (5, 5) and
size(transpose(U) * randn(10, 5)) == (10, 5). However, some other operations that ostensibly involve a dimension mismatch do work (e.g.,
U * T works despite the fact that
size(U) == (10, 10) and
size(T) == (5, 5)). I have seen this related post, but I haven’t been able to extract a solution from it.
Is there a way to reorganize the operations (or something) so that this will work on julia 0.7? It seems like it should be possible to implement Algorithm 4 from this paper in a few lines of julia code, but I am struggling to do that with julia 0.7 (even though I have such an implementation for julia 0.6). Anyone have ideas?