Skip to content

Commit 7a5709f

Browse files
committed
Change kind to side
1 parent 1a86819 commit 7a5709f

File tree

5 files changed

+33
-33
lines changed

5 files changed

+33
-33
lines changed

src/common/matrixproperties.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
"""
2-
isisometry(A; kind=:left, isapprox_kwargs...) -> Bool
2+
isisometry(A; side=:left, isapprox_kwargs...) -> Bool
33
44
Test whether a linear map is an isometry, where the type of isometry is controlled by `kind`:
55
6-
- `kind = :left` : `A' * A ≈ I`.
7-
- `kind = :right` : `A * A` ≈ I`.
6+
- `side = :left` : `A' * A ≈ I`.
7+
- `side = :right` : `A * A` ≈ I`.
88
99
The `isapprox_kwargs` are passed on to `isapprox` to control the tolerances.
1010
1111
New specializations should overload [`is_left_isometry`](@ref) and [`is_right_isometry`](@ref).
1212
1313
See also [`isunitary`](@ref).
1414
"""
15-
function isisometry(A; kind::Symbol=:left, isapprox_kwargs...)
16-
kind === :left && return is_left_isometry(A; isapprox_kwargs...)
17-
kind === :right && return is_right_isometry(A; isapprox_kwargs...)
15+
function isisometry(A; side::Symbol=:left, isapprox_kwargs...)
16+
side === :left && return is_left_isometry(A; isapprox_kwargs...)
17+
side === :right && return is_right_isometry(A; isapprox_kwargs...)
1818

19-
throw(ArgumentError(lazy"Invalid isometry kind: $kind"))
19+
throw(ArgumentError(lazy"Invalid isometry side: $side"))
2020
end
2121

2222
"""

test/lq.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ using LinearAlgebra: diag, I
1414
@test L isa Matrix{T} && size(L) == (m, minmn)
1515
@test Q isa Matrix{T} && size(Q) == (minmn, n)
1616
@test L * Q A
17-
@test isisometry(Q; kind=:right)
17+
@test isisometry(Q; side=:right)
1818
Nᴴ = @constinferred lq_null(A)
1919
@test Nᴴ isa Matrix{T} && size(Nᴴ) == (n - minmn, n)
2020
@test maximum(abs, A * Nᴴ') < eps(real(T))^(2 / 3)
21-
@test isisometry(Nᴴ; kind=:right)
21+
@test isisometry(Nᴴ; side=:right)
2222
2323
Ac = similar(A)
2424
L2, Q2 = @constinferred lq_compact!(copy!(Ac, A), (L, Q))
@@ -35,12 +35,12 @@ using LinearAlgebra: diag, I
3535
# unblocked algorithm
3636
lq_compact!(copy!(Ac, A), (L, Q); blocksize=1)
3737
@test L * Q ≈ A
38-
@test isisometry(Q; kind=:right)
38+
@test isisometry(Q; side=:right)
3939
lq_compact!(copy!(Ac, A), (noL, Q2); blocksize=1)
4040
@test Q == Q2
4141
lq_null!(copy!(Ac, A), Nᴴ; blocksize=1)
4242
@test maximum(abs, A * Nᴴ') < eps(real(T))^(2 / 3)
43-
@test isisometry(Nᴴ; kind=:right)
43+
@test isisometry(Nᴴ; side=:right)
4444
if m <= n
4545
lq_compact!(copy!(Q2, A), (noL, Q2); blocksize=1) # in-place Q
4646
@test Q Q2
@@ -50,25 +50,25 @@ using LinearAlgebra: diag, I
5050
end
5151
lq_compact!(copy!(Ac, A), (L, Q); blocksize=8)
5252
@test L * Q A
53-
@test isisometry(Q; kind=:right)
53+
@test isisometry(Q; side=:right)
5454
lq_compact!(copy!(Ac, A), (noL, Q2); blocksize=8)
5555
@test Q == Q2
5656
lq_null!(copy!(Ac, A), Nᴴ; blocksize=8)
5757
@test maximum(abs, A * Nᴴ') < eps(real(T))^(2 / 3)
58-
@test isisometry(Nᴴ; kind=:right)
58+
@test isisometry(Nᴴ; side=:right)
5959
# pivoted
6060
@test_throws ArgumentError lq_compact!(copy!(Ac, A), (L, Q); pivoted=true)
6161
# positive
6262
lq_compact!(copy!(Ac, A), (L, Q); positive=true)
6363
@test L * Q ≈ A
64-
@test isisometry(Q; kind=:right)
64+
@test isisometry(Q; side=:right)
6565
@test all(>=(zero(real(T))), real(diag(L)))
6666
lq_compact!(copy!(Ac, A), (noL, Q2); positive=true)
6767
@test Q == Q2
6868
# positive and blocksize 1
6969
lq_compact!(copy!(Ac, A), (L, Q); positive=true, blocksize=1)
7070
@test L * Q ≈ A
71-
@test isisometry(Q; kind=:right)
71+
@test isisometry(Q; side=:right)
7272
@test all(>=(zero(real(T))), real(diag(L)))
7373
lq_compact!(copy!(Ac, A), (noL, Q2); positive=true, blocksize=1)
7474
@test Q == Q2

test/orthnull.jl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -206,9 +206,9 @@ end
206206
@test Vᴴ isa Matrix{T} && size(Vᴴ) == (minmn, n)
207207
@test Nᴴ isa Matrix{T} && size(Nᴴ) == (n - minmn, n)
208208
@test C * Vᴴ ≈ A
209-
@test isisometry(Vᴴ; kind=:right)
209+
@test isisometry(Vᴴ; side=:right)
210210
@test LinearAlgebra.norm(A * adjoint(Nᴴ)) ≈ 0 atol = MatrixAlgebraKit.defaulttol(T)
211-
@test isisometry(Nᴴ; kind=:right)
211+
@test isisometry(Nᴴ; side=:right)
212212
@test Vᴴ' * Vᴴ + Nᴴ' * Nᴴ ≈ I
213213
214214
M = LinearMap(A)
@@ -222,9 +222,9 @@ end
222222
@test Vᴴ2 === Vᴴ
223223
@test Nᴴ2 === Nᴴ
224224
@test C2 * Vᴴ2 ≈ A
225-
@test isisometry(Vᴴ2; kind=:right)
225+
@test isisometry(Vᴴ2; side=:right)
226226
@test LinearAlgebra.norm(A * adjoint(Nᴴ2)) ≈ 0 atol = MatrixAlgebraKit.defaulttol(T)
227-
@test isisometry(Nᴴ; kind=:right)
227+
@test isisometry(Nᴴ; side=:right)
228228
@test Vᴴ2' * Vᴴ2 + Nᴴ2' * Nᴴ2 ≈ I
229229
230230
atol = eps(real(T))
@@ -234,9 +234,9 @@ end
234234
@test Vᴴ2 !== Vᴴ
235235
@test Nᴴ2 !== Nᴴ
236236
@test C2 * Vᴴ2 ≈ A
237-
@test isisometry(Vᴴ2; kind=:right)
237+
@test isisometry(Vᴴ2; side=:right)
238238
@test LinearAlgebra.norm(A * adjoint(Nᴴ2)) ≈ 0 atol = MatrixAlgebraKit.defaulttol(T)
239-
@test isisometry(Nᴴ; kind=:right)
239+
@test isisometry(Nᴴ; side=:right)
240240
@test Vᴴ2' * Vᴴ2 + Nᴴ2' * Nᴴ2 ≈ I
241241
242242
rtol = eps(real(T))
@@ -246,9 +246,9 @@ end
246246
@test Vᴴ2 !== Vᴴ
247247
@test Nᴴ2 !== Nᴴ
248248
@test C2 * Vᴴ2 ≈ A
249-
@test isisometry(Vᴴ2; kind=:right)
249+
@test isisometry(Vᴴ2; side=:right)
250250
@test LinearAlgebra.norm(A * adjoint(Nᴴ2)) ≈ 0 atol = MatrixAlgebraKit.defaulttol(T)
251-
@test isisometry(Nᴴ2; kind=:right)
251+
@test isisometry(Nᴴ2; side=:right)
252252
@test Vᴴ2' * Vᴴ2 + Nᴴ2' * Nᴴ2 ≈ I
253253
254254
for kind in (:lq, :polar, :svd)
@@ -257,12 +257,12 @@ end
257257
@test C2 === C
258258
@test Vᴴ2 === Vᴴ
259259
@test C2 * Vᴴ2 ≈ A
260-
@test isisometry(Vᴴ2; kind=:right)
260+
@test isisometry(Vᴴ2; side=:right)
261261
if kind != :polar
262262
Nᴴ2 = @constinferred right_null!(copy!(Ac, A), Nᴴ; kind=kind)
263263
@test Nᴴ2 === Nᴴ
264264
@test LinearAlgebra.norm(A * adjoint(Nᴴ2)) ≈ 0 atol = MatrixAlgebraKit.defaulttol(T)
265-
@test isisometry(Nᴴ2; kind=:right)
265+
@test isisometry(Nᴴ2; side=:right)
266266
@test Vᴴ2' * Vᴴ2 + Nᴴ2' * Nᴴ2 ≈ I
267267
end
268268
@@ -275,9 +275,9 @@ end
275275
@test Vᴴ2 !== Vᴴ
276276
@test Nᴴ2 !== Nᴴ
277277
@test C2 * Vᴴ2 ≈ A
278-
@test isisometry(Vᴴ2; kind=:right)
278+
@test isisometry(Vᴴ2; side=:right)
279279
@test LinearAlgebra.norm(A * adjoint(Nᴴ2)) ≈ 0 atol = MatrixAlgebraKit.defaulttol(T)
280-
@test isisometry(Nᴴ2; kind=:right)
280+
@test isisometry(Nᴴ2; side=:right)
281281
@test Vᴴ2' * Vᴴ2 + Nᴴ2' * Nᴴ2 ≈ I
282282
283283
C2, Vᴴ2 = @constinferred right_orth!(copy!(Ac, A), (C, Vᴴ); kind=kind,
@@ -288,9 +288,9 @@ end
288288
@test Vᴴ2 !== Vᴴ
289289
@test Nᴴ2 !== Nᴴ
290290
@test C2 * Vᴴ2 ≈ A
291-
@test isisometry(Vᴴ2; kind=:right)
291+
@test isisometry(Vᴴ2; side=:right)
292292
@test LinearAlgebra.norm(A * adjoint(Nᴴ2)) ≈ 0 atol = MatrixAlgebraKit.defaulttol(T)
293-
@test isisometry(Nᴴ2; kind=:right)
293+
@test isisometry(Nᴴ2; side=:right)
294294
@test Vᴴ2' * Vᴴ2 + Nᴴ2' * Nᴴ2 ≈ I
295295
else
296296
@test_throws ArgumentError right_orth!(copy!(Ac, A), (C, Vᴴ); kind=kind,

test/polar.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ end
5252
@test Wᴴ isa Matrix{T} && size(Wᴴ) == (m, n)
5353
@test P isa Matrix{T} && size(P) == (m, m)
5454
@test P * Wᴴ A
55-
@test isisometry(Wᴴ; kind=:right)
55+
@test isisometry(Wᴴ; side=:right)
5656
@test isposdef(P)
5757

5858
Ac = similar(A)
5959
P2, Wᴴ2 = @constinferred right_polar!(copy!(Ac, A), (P, Wᴴ), alg)
6060
@test P2 === P
6161
@test Wᴴ2 === Wᴴ
6262
@test P * Wᴴ A
63-
@test isisometry(Wᴴ; kind=:right)
63+
@test isisometry(Wᴴ; side=:right)
6464
@test isposdef(P)
6565
end
6666
end

test/svd.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ using MatrixAlgebraKit: TruncatedAlgorithm, TruncationKeepAbove, diagview, isiso
3333
@test Vᴴ isa Matrix{T} && size(Vᴴ) == (minmn, n)
3434
@test U * S * Vᴴ A
3535
@test isisometry(U)
36-
@test isisometry(Vᴴ; kind=:right)
36+
@test isisometry(Vᴴ; side=:right)
3737
@test isposdef(S)
3838

3939
Ac = similar(A)
@@ -45,7 +45,7 @@ using MatrixAlgebraKit: TruncatedAlgorithm, TruncationKeepAbove, diagview, isiso
4545
@test V2ᴴ === Vᴴ
4646
@test U * S * Vᴴ A
4747
@test isisometry(U)
48-
@test isisometry(Vᴴ; kind=:right)
48+
@test isisometry(Vᴴ; side=:right)
4949
@test isposdef(S)
5050

5151
Sd = @constinferred svd_vals(A, alg′)

0 commit comments

Comments
 (0)