From 3b53e587a5655db4822dacbe32430dae24c7c8ee Mon Sep 17 00:00:00 2001 From: "Viral B. Shah" Date: Tue, 9 Aug 2022 22:19:39 -0400 Subject: [PATCH] Update double transpose note in docs (#214) Fix #82 --- docs/src/index.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/src/index.md b/docs/src/index.md index b44c206b..9cfafbc4 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -35,10 +35,13 @@ one place over. All operations on sparse matrices are carefully implemented to exploit the CSC data structure for performance, and to avoid expensive operations. -If you have data in CSC format from a different application or library, and wish to import it -in Julia, make sure that you use 1-based indexing. The row indices in every column need to be -sorted. If your `SparseMatrixCSC` object contains unsorted row indices, one quick way to sort -them is by doing a double transpose. +If you have data in CSC format from a different application or +library, and wish to import it in Julia, make sure that you use +1-based indexing. The row indices in every column need to be sorted, +and if they are not, the matrix will display incorrectly. If your +`SparseMatrixCSC` object contains unsorted row indices, one quick way +to sort them is by doing a double transpose. Since the transpose operation +is lazy, make a copy to materialize each transpose. In some applications, it is convenient to store explicit zero values in a `SparseMatrixCSC`. These *are* accepted by functions in `Base` (but there is no guarantee that they will be preserved in @@ -242,7 +245,7 @@ Several other Julia packages provide sparse matrix implementations that should b 1. [SuiteSparseGraphBLAS.jl](https://github.com/JuliaSparse/SuiteSparseGraphBLAS.jl) is a wrapper over the fast, multithreaded SuiteSparse:GraphBLAS C library. On CPU this is typically the fastest option, often significantly outperforming MKLSparse. -2. [CUDA.jl](https://github.com/JuliaGPU/CUDA.jl) exposes the [CUSPARSE](https://docs.nvidia.com/cuda/cusparse/index.html) library for GPU sparse matrix operations. +2. [CUDA.jl](https://github.com/JuliaGPU/CUDA.jl) exposes the [CUSPARSE](https://docs.nvidia.com/cuda/cusparse/index.html) library for GPU sparse matrix operations. 3. [SparseMatricesCSR.jl](https://github.com/gridap/SparseMatricesCSR.jl) provides a Julia native implementation of the Compressed Sparse Rows (CSR) format.