@@ -30,27 +30,27 @@ function make_mooncake_tangent(ΔD::Diagonal{T}) where {T<:Complex}
3030 return Mooncake. build_tangent(typeof(ΔD), diag_tangent)
3131end
3232
33- ETs = (Float64, Float32,)# ComplexF64, ComplexF32)
33+ ETs = (Float64,) # Float32,)# ComplexF64, ComplexF32)
3434
3535@timedtestset " QR AD Rules with eltype $T " for T in ETs
3636 rng = StableRNG(12345 )
3737 m = 19
38- @testset " size ($m , $n )" for n in (17 , m, 23 )
38+ @testset " size ($m , $n )" for n in (17 ,) # m, 23)
3939 atol = rtol = m * n * precision(T)
4040 A = randn(rng, T, m, n)
4141 minmn = min(m, n)
4242 @testset for alg in (LAPACK_HouseholderQR(),
43- LAPACK_HouseholderQR(; positive= true ),
43+ # LAPACK_HouseholderQR(; positive=true),
4444 )
45- @testset " qr_compact" begin
45+ #= @testset "qr_compact" begin
4646 Mooncake.TestUtils.test_rule(rng, qr_compact, A, alg; is_primitive=false, atol=atol, rtol=rtol)
47- end
48- @testset " qr_null" begin
47+ end=#
48+ #= @testset "qr_null" begin
4949 Q, R = qr_compact(A, alg)
5050 ΔN = Q * randn(rng, T, minmn, max(0, m - minmn))
5151 dN = make_mooncake_tangent(ΔN)
5252 Mooncake.TestUtils.test_rule(rng, qr_null, A, alg; output_tangent = dN, is_primitive=false, atol=atol, rtol=rtol)
53- end
53+ end=#
5454 @testset " qr_full" begin
5555 Q, R = qr_full(A, alg)
5656 Q1 = view(Q, 1 : m, 1 : minmn)
@@ -61,9 +61,11 @@ ETs = (Float64, Float32,)# ComplexF64, ComplexF32)
6161 dQ = make_mooncake_tangent(ΔQ)
6262 dR = make_mooncake_tangent(ΔR)
6363 dQR = Mooncake.build_tangent(typeof((ΔQ,ΔR)), dQ, dR)
64- Mooncake.TestUtils.test_rule(rng, qr_full, A, alg; output_tangent = dQR, is_primitive=false, atol=atol, rtol=rtol)
64+ #Mooncake.TestUtils.test_rule(rng, ((A, alg)->qr_full(A, alg)[2]), A, alg; mode=Mooncake.ForwardMode, is_primitive=false, atol=atol, rtol=rtol)
65+ #Mooncake.TestUtils.test_rule(rng, ((A, alg)->qr_full(A, alg)[1][1:m, 1:minmn]), A, alg; mode=Mooncake.ForwardMode, is_primitive=false, atol=atol, rtol=rtol)
66+ Mooncake.TestUtils.test_rule(rng, ((A, alg)->qr_full(A, alg)[1][1:m, minmn+1:m]), A, alg; mode=Mooncake.ForwardMode, is_primitive=false, atol=atol, rtol=rtol)
6567 end
66- @testset "qr_compact - rank-deficient A" begin
68+ #= @testset "qr_compact - rank-deficient A" begin
6769 r = minmn - 5
6870 Ard = randn(rng, T, m, r) * randn(rng, T, r, n)
6971 Q, R = qr_compact(Ard, alg)
@@ -77,12 +79,13 @@ ETs = (Float64, Float32,)# ComplexF64, ComplexF32)
7779 dQ = make_mooncake_tangent(ΔQ)
7880 dR = make_mooncake_tangent(ΔR)
7981 dQR = Mooncake.build_tangent(typeof((ΔQ,ΔR)), dQ, dR)
80- Mooncake.TestUtils.test_rule(rng, qr_compact, copy(Ard), alg; output_tangent = dQR , is_primitive=false, atol=atol, rtol=rtol)
81- end
82+ Mooncake.TestUtils.test_rule(rng, qr_compact, copy(Ard), alg; mode=Mooncake.ForwardMode , is_primitive=false, atol=atol, rtol=rtol)
83+ end=#
8284 end
8385 end
8486end
8587
88+ #=
8689@timedtestset "LQ AD Rules with eltype $T" for T in ETs
8790 rng = StableRNG(12345)
8891 m = 19
99102 dL = make_mooncake_tangent(ΔL)
100103 dQ = make_mooncake_tangent(ΔQ)
101104 dLQ = Mooncake.build_tangent(typeof((ΔL,ΔQ)), dL, dQ)
102- Mooncake.TestUtils.test_rule(rng, lq_compact, A, alg; mode=Mooncake.ReverseMode, is_primitive=false, atol=atol, rtol=rtol, output_tangent = dLQ)
105+ Mooncake.TestUtils.test_rule(rng, lq_compact, A, alg; is_primitive=false, atol=atol, rtol=rtol, output_tangent = dLQ)
103106 end
104- @testset "lq_null" begin
107+ #= @testset "lq_null" begin
105108 L, Q = lq_compact(A, alg)
106109 ΔNᴴ = randn(rng, T, max(0, n - minmn), minmn) * Q
107110 dNᴴ = make_mooncake_tangent(ΔNᴴ)
108- Mooncake.TestUtils.test_rule(rng, lq_null, A, alg; mode=Mooncake.ReverseMode, output_tangent = dNᴴ, is_primitive=false, atol=atol, rtol=rtol)
109- end
111+ Mooncake.TestUtils.test_rule(rng, lq_null, A, alg; output_tangent = dNᴴ, is_primitive=false, atol=atol, rtol=rtol)
112+ end=#
110113 @testset "lq_full" begin
111114 L, Q = lq_full(A, alg)
112115 Q1 = view(Q, 1:minmn, 1:n)
117120 dL = make_mooncake_tangent(ΔL)
118121 dQ = make_mooncake_tangent(ΔQ)
119122 dLQ = Mooncake. build_tangent(typeof((ΔL,ΔQ)), dL, dQ)
120- Mooncake. TestUtils. test_rule(rng, lq_full, A, alg; mode = Mooncake . ReverseMode, output_tangent = dLQ, is_primitive= false , atol= atol, rtol= rtol)
123+ Mooncake. TestUtils. test_rule(rng, lq_full, A, alg; output_tangent = dLQ, is_primitive= false , atol= atol, rtol= rtol)
121124 end
122- @testset " lq_compact - rank-deficient A" begin
125+ #= @testset "lq_compact - rank-deficient A" begin
123126 r = minmn - 5
124127 Ard = randn(rng, T, m, r) * randn(rng, T, r, n)
125128 L, Q = lq_compact(Ard, alg)
@@ -133,12 +136,13 @@ end
133136 dL = make_mooncake_tangent(ΔL)
134137 dQ = make_mooncake_tangent(ΔQ)
135138 dLQ = Mooncake.build_tangent(typeof((ΔL,ΔQ)), dL, dQ)
136- Mooncake. TestUtils. test_rule(rng, lq_compact, Ard, alg; mode = Mooncake . ReverseMode, output_tangent = dLQ, is_primitive= false , atol= atol, rtol= rtol)
137- end
139+ Mooncake.TestUtils.test_rule(rng, lq_compact, Ard, alg; output_tangent = dLQ, is_primitive=false, atol=atol, rtol=rtol)
140+ end=#
138141 end
139142 end
140143end
141-
144+ = #
145+ #=
142146@timedtestset "EIG AD Rules with eltype $T" for T in ETs
143147 rng = StableRNG(12345)
144148 m = 19
418422 Mooncake.TestUtils.test_rule(rng, (X->right_null(X; kind=:lq)), A; atol=atol, rtol=rtol, is_primitive=false, output_tangent = dNᴴ)
419423 end
420424end
421-
425+ =#
0 commit comments