|
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