|
489 | 489 | pA = sparse(rand(3, 7))
|
490 | 490 |
|
491 | 491 | for arr in (se33, sA, pA)
|
492 |
| - for f in (sum, prod, minimum, maximum, var) |
| 492 | + for f in (sum, prod, minimum, maximum) |
493 | 493 | farr = Array(arr)
|
494 | 494 | @test f(arr) ≈ f(farr)
|
495 | 495 | @test f(arr, dims=1) ≈ f(farr, dims=1)
|
|
518 | 518 | @test prod(sparse(Int[])) === 1
|
519 | 519 | @test_throws ArgumentError minimum(sparse(Int[]))
|
520 | 520 | @test_throws ArgumentError maximum(sparse(Int[]))
|
521 |
| - @test var(sparse(Int[])) === NaN |
522 | 521 |
|
523 |
| - for f in (sum, prod, var) |
| 522 | + for f in (sum, prod) |
524 | 523 | @test isequal(f(spzeros(0, 1), dims=1), f(Matrix{Int}(I, 0, 1), dims=1))
|
525 | 524 | @test isequal(f(spzeros(0, 1), dims=2), f(Matrix{Int}(I, 0, 1), dims=2))
|
526 | 525 | @test isequal(f(spzeros(0, 1), dims=(1, 2)), f(Matrix{Int}(I, 0, 1), dims=(1, 2)))
|
@@ -2033,63 +2032,6 @@ end
|
2033 | 2032 | @test issymmetric(B)
|
2034 | 2033 | end
|
2035 | 2034 |
|
2036 |
| -# Faster covariance function for sparse matrices |
2037 |
| -# Prevents densifying the input matrix when subtracting the mean |
2038 |
| -# Test against dense implementation |
2039 |
| -# PR https://github.com/JuliaLang/julia/pull/22735 |
2040 |
| -# Part of this test needed to be hacked due to the treatment |
2041 |
| -# of Inf in sparse matrix algebra |
2042 |
| -# https://github.com/JuliaLang/julia/issues/22921 |
2043 |
| -# The issue will be resolved in |
2044 |
| -# https://github.com/JuliaLang/julia/issues/22733 |
2045 |
| -@testset "optimizing sparse $elty covariance" for elty in (Float64, Complex{Float64}) |
2046 |
| - n = 10 |
2047 |
| - p = 5 |
2048 |
| - np2 = div(n*p, 2) |
2049 |
| - nzvals, x_sparse = guardsrand(1) do |
2050 |
| - if elty <: Real |
2051 |
| - nzvals = randn(np2) |
2052 |
| - else |
2053 |
| - nzvals = complex.(randn(np2), randn(np2)) |
2054 |
| - end |
2055 |
| - nzvals, sparse(rand(1:n, np2), rand(1:p, np2), nzvals, n, p) |
2056 |
| - end |
2057 |
| - x_dense = convert(Matrix{elty}, x_sparse) |
2058 |
| - @testset "Test with no Infs and NaNs, vardim=$vardim, corrected=$corrected" for vardim in (1, 2), |
2059 |
| - corrected in (true, false) |
2060 |
| - @test cov(x_sparse, dims=vardim, corrected=corrected) ≈ |
2061 |
| - cov(x_dense , dims=vardim, corrected=corrected) |
2062 |
| - end |
2063 |
| - |
2064 |
| - @testset "Test with $x11, vardim=$vardim, corrected=$corrected" for x11 in (NaN, Inf), |
2065 |
| - vardim in (1, 2), |
2066 |
| - corrected in (true, false) |
2067 |
| - x_sparse[1,1] = x11 |
2068 |
| - x_dense[1 ,1] = x11 |
2069 |
| - |
2070 |
| - cov_sparse = cov(x_sparse, dims=vardim, corrected=corrected) |
2071 |
| - cov_dense = cov(x_dense , dims=vardim, corrected=corrected) |
2072 |
| - @test cov_sparse[2:end, 2:end] ≈ cov_dense[2:end, 2:end] |
2073 |
| - @test isfinite.(cov_sparse) == isfinite.(cov_dense) |
2074 |
| - @test isfinite.(cov_sparse) == isfinite.(cov_dense) |
2075 |
| - end |
2076 |
| - |
2077 |
| - @testset "Test with NaN and Inf, vardim=$vardim, corrected=$corrected" for vardim in (1, 2), |
2078 |
| - corrected in (true, false) |
2079 |
| - x_sparse[1,1] = Inf |
2080 |
| - x_dense[1 ,1] = Inf |
2081 |
| - x_sparse[2,1] = NaN |
2082 |
| - x_dense[2 ,1] = NaN |
2083 |
| - |
2084 |
| - cov_sparse = cov(x_sparse, dims=vardim, corrected=corrected) |
2085 |
| - cov_dense = cov(x_dense , dims=vardim, corrected=corrected) |
2086 |
| - @test cov_sparse[(1 + vardim):end, (1 + vardim):end] ≈ |
2087 |
| - cov_dense[ (1 + vardim):end, (1 + vardim):end] |
2088 |
| - @test isfinite.(cov_sparse) == isfinite.(cov_dense) |
2089 |
| - @test isfinite.(cov_sparse) == isfinite.(cov_dense) |
2090 |
| - end |
2091 |
| -end |
2092 |
| - |
2093 | 2035 | @testset "similar should not alias the input sparse array" begin
|
2094 | 2036 | a = sparse(rand(3,3) .+ 0.1)
|
2095 | 2037 | b = similar(a, Float32, Int32)
|
|
0 commit comments