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 `T`

and `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?