|
1 | 1 | module DiffTests
|
2 | 2 |
|
3 | 3 | using LinearAlgebra: det, norm, dot, tr, Diagonal, LowerTriangular, UpperTriangular
|
| 4 | +using SparseArrays: sparse |
4 | 5 | using Statistics: mean
|
5 | 6 |
|
6 | 7 | #=
|
@@ -272,15 +273,23 @@ diag_lmul(x::VecOrMat) = diag_matrix(x) * x
|
272 | 273 | dense_lmul(x::VecOrMat) = test_matrix(x) * x
|
273 | 274 | utriag_lmul(x::VecOrMat) = UpperTriangular(test_matrix(x)) * x
|
274 | 275 | ltriag_lmul(x::VecOrMat) = LowerTriangular(test_matrix(x)) * x
|
| 276 | +sparse_lmul(x::VecOrMat) = sparse(test_matrix(x)) * x |
| 277 | +sp_utriag_lmul(x::VecOrMat) = UpperTriangular(sparse(test_matrix(x))) * x |
| 278 | +sp_ltriag_lmul(x::VecOrMat) = LowerTriangular(sparse(test_matrix(x))) * x |
275 | 279 |
|
276 | 280 | # left division by a constant matrix
|
277 | 281 | diag_ldiv(x::VecOrMat) = diag_matrix(x) \ x
|
278 | 282 | dense_ldiv(x::VecOrMat) = test_matrix(x) \ x
|
279 | 283 | utriag_ldiv(x::VecOrMat) = UpperTriangular(test_matrix(x)) \ x
|
280 | 284 | ltriag_ldiv(x::VecOrMat) = LowerTriangular(test_matrix(x)) \ x
|
| 285 | +sparse_ldiv(x::VecOrMat) = sparse(test_matrix(x)) \ x |
| 286 | +sp_utriag_ldiv(x::VecOrMat) = UpperTriangular(sparse(test_matrix(x))) \ x |
| 287 | +sp_ltriag_ldiv(x::VecOrMat) = LowerTriangular(sparse(test_matrix(x))) \ x |
281 | 288 |
|
282 | 289 | const VECTOR_TO_VECTOR_FUNCS = (diag_lmul, dense_lmul, utriag_lmul, ltriag_lmul,
|
283 |
| - diag_ldiv, utriag_ldiv, ltriag_ldiv) |
| 290 | + sparse_lmul, sp_utriag_lmul, sp_ltriag_lmul, |
| 291 | + diag_ldiv, utriag_ldiv, ltriag_ldiv, |
| 292 | + sparse_ldiv, sp_utriag_ldiv, sp_ltriag_ldiv,) |
284 | 293 |
|
285 | 294 | ######################
|
286 | 295 | # f(x::Array)::Array #
|
@@ -309,6 +318,8 @@ const ARRAY_TO_ARRAY_FUNCS = (-, chebyquad, brown_almost_linear, trigonometric,
|
309 | 318 |
|
310 | 319 | const MATRIX_TO_MATRIX_FUNCS = (inv,
|
311 | 320 | diag_lmul, dense_lmul, utriag_lmul, ltriag_lmul,
|
312 |
| - diag_ldiv, utriag_ldiv, ltriag_ldiv) |
| 321 | + sparse_lmul, sp_utriag_lmul, sp_ltriag_lmul, |
| 322 | + diag_ldiv, utriag_ldiv, ltriag_ldiv, |
| 323 | + sparse_ldiv, sp_utriag_ldiv, sp_ltriag_ldiv,) |
313 | 324 |
|
314 | 325 | end # module
|
0 commit comments