Skip to content

Fate of qr #556

@martinholters

Description

@martinholters

From our README:

  • Compat.qr takes pivot as a Val instance and keyword argument full ([#22475], [#24279]).

And we have these tests:

Compat.jl/test/runtests.jl

Lines 1676 to 1695 in 2a82221

let A = [1 2; 1 2; 1 2]
f = Compat.qr(A, Val(false), full=false)
@test f == Compat.qr(A, Val(false))
@test length(f) == 2
@test size(f[1]) == (3, 2)
@test f[1] * f[2] A
f = Compat.qr(A, Val(false), full=true)
@test length(f) == 2
@test size(f[1]) == (3, 3)
@test f[1] * [f[2]; [0 0]] A
f = Compat.qr(A, Val(true), full=false)
@test f == Compat.qr(A, Val(true))
@test length(f) == 3
@test size(f[1]) == (3, 2)
@test f[1] * f[2] A[:,f[3]]
f = Compat.qr(A, Val(true), full=true)
@test length(f) == 3
@test size(f[1]) == (3, 3)
@test f[1] * [f[2]; [0 0]] A[:,f[3]]
end

But in JuliaLang/julia#27212 the LinearAlgebra API has been changed, qr doesn't take a full (thin in 0.6) keyword anymore, making these tests fail. Instead, both the "full" and the "thin" representation can be obtained from the returned object.

Ideally, we provide a qr that does the same and deprecate the current method to that. But I have no idea whether that is feasible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions