julia> t = Tensor(rand(2,2,2,2), [:i,:j,:k,:l]);
julia> q, r = tensor_qr_thin(
t;
inds_q = Index.([:i, :k]),
inds_r = Index.([:j, :l]),
ind_virtual = Index(:x)
);
julia> q2×2×4 Tensor{Float64, 3, Array{Float64, 3}}:
[:, :, 1] =
-0.0642326 -0.451842
-0.664602 -0.591622
[:, :, 2] =
-0.496444 -0.123538
-0.493912 0.703088
[:, :, 3] =
0.784451 -0.465628
-0.110432 0.394502
[:, :, 4] =
-0.366134 -0.750845
0.54969 -0.00430077
julia> r4×2×2 Tensor{Float64, 3, Array{Float64, 3}}:
[:, :, 1] =
-1.36281 -0.375719
0.0 -0.0888963
0.0 0.0
0.0 0.0
[:, :, 2] =
-0.546235 -1.08848
-0.515815 -0.0187884
0.289563 0.231799
0.0 0.257005