Skip to content

Commit 1fd2152

Browse files
committed
Initial commit
1 parent 695df84 commit 1fd2152

27 files changed

+38
-38
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name = "MultidimensionalSparseArrays"
1+
name = "NDimensionalSparseArrays"
22
uuid = "6e93e0f3-59a5-426f-9354-1ff93716b9b4"
33
version = "0.1.0"
44

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
# MultidimensionalSparseArrays.jl
1+
# NDimensionalSparseArrays.jl
22

3-
[![CI](https://github.com/raphasampaio/MultidimensionalSparseArrays.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/raphasampaio/MultidimensionalSparseArrays.jl/actions/workflows/CI.yml)
3+
[![CI](https://github.com/raphasampaio/NDimensionalSparseArrays.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/raphasampaio/NDimensionalSparseArrays.jl/actions/workflows/CI.yml)
44
[![codecov](https://codecov.io/github/raphasampaio/multidimensionalsparsearrays.jl/graph/badge.svg?token=I2kXECoZxZ)](https://codecov.io/github/raphasampaio/multidimensionalsparsearrays.jl)
55
[![Aqua](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl)
66

77
## Overview
88

9-
`MultidimensionalSparseArrays.jl` provides a `SparseArray` type that efficiently stores and manipulates multidimensional arrays with a high proportion of zero elements. Unlike dense arrays, `SparseArray` only stores non-zero values, significantly reducing memory consumption for sparse data.
9+
`NDimensionalSparseArrays.jl` provides a `SparseArray` type that efficiently stores and manipulates multidimensional arrays with a high proportion of zero elements. Unlike dense arrays, `SparseArray` only stores non-zero values, significantly reducing memory consumption for sparse data.
1010

1111
This package is designed to be a flexible and intuitive tool for scientific computing, data analysis, and any domain where large, sparse multidimensional data structures are common.
1212

1313
## Comparison with `SparseArrays.jl`
1414

15-
`MultidimensionalSparseArrays.jl` is designed to provide a flexible and easy-to-use interface for N-dimensional sparse arrays. While Julia's standard library [`SparseArrays.jl`](https://github.com/JuliaSparse/SparseArrays.jl) is highly optimized for 1-D and 2-D sparse arrays (vectors and matrices), `MultidimensionalSparseArrays.jl` offers a more general-purpose solution for higher-dimensional sparse data.
15+
`NDimensionalSparseArrays.jl` is designed to provide a flexible and easy-to-use interface for N-dimensional sparse arrays. While Julia's standard library [`SparseArrays.jl`](https://github.com/JuliaSparse/SparseArrays.jl) is highly optimized for 1-D and 2-D sparse arrays (vectors and matrices), `NDimensionalSparseArrays.jl` offers a more general-purpose solution for higher-dimensional sparse data.
1616

1717
Key differences include:
1818

19-
- **Dimensionality:** `SparseArrays.jl` focuses on `SparseVector` and `SparseMatrixCSC`. `MultidimensionalSparseArrays.jl` is built from the ground up for N-dimensional arrays.
20-
- **Storage Format:** `MultidimensionalSparseArrays.jl` uses a dictionary-based storage (`Dict{CartesianIndex{N}, T}`), which is flexible for arbitrary dimensions. `SparseArrays.jl` uses the more rigid but highly efficient Compressed Sparse Column (CSC) format for matrices.
21-
- **Use Case:** If you are working with 1-D or 2-D sparse arrays and require high-performance linear algebra operations, `SparseArrays.jl` is the ideal choice. If you need to work with sparse data in three or more dimensions, `MultidimensionalSparseArrays.jl` provides a more natural and convenient API.
19+
- **Dimensionality:** `SparseArrays.jl` focuses on `SparseVector` and `SparseMatrixCSC`. `NDimensionalSparseArrays.jl` is built from the ground up for N-dimensional arrays.
20+
- **Storage Format:** `NDimensionalSparseArrays.jl` uses a dictionary-based storage (`Dict{CartesianIndex{N}, T}`), which is flexible for arbitrary dimensions. `SparseArrays.jl` uses the more rigid but highly efficient Compressed Sparse Column (CSC) format for matrices.
21+
- **Use Case:** If you are working with 1-D or 2-D sparse arrays and require high-performance linear algebra operations, `SparseArrays.jl` is the ideal choice. If you need to work with sparse data in three or more dimensions, `NDimensionalSparseArrays.jl` provides a more natural and convenient API.
2222

2323
## Features
2424

@@ -32,7 +32,7 @@ Key differences include:
3232
## Installation
3333

3434
```julia
35-
pkg> add MultidimensionalSparseArrays
35+
pkg> add NDimensionalSparseArrays
3636
```
3737

3838
## Usage
@@ -42,7 +42,7 @@ pkg> add MultidimensionalSparseArrays
4242
You can create a `SparseArray` in several ways:
4343

4444
```julia
45-
using MultidimensionalSparseArrays
45+
using NDimensionalSparseArrays
4646

4747
# Create an empty 3x4x2 sparse array of Float64
4848
A = SparseArray{Float64}(3, 4, 2)

revise/revise.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ using Revise
66
Pkg.activate(dirname(@__DIR__))
77
Pkg.instantiate()
88

9-
using MultidimensionalSparseArrays
9+
using NDimensionalSparseArrays
1010
@info("""
11-
This session is using MultidimensionalSparseArrays.jl with Revise.jl.
11+
This session is using NDimensionalSparseArrays.jl with Revise.jl.
1212
For more information visit https://timholy.github.io/Revise.jl/stable/.
1313
""")

src/MultidimensionalSparseArrays.jl renamed to src/NDimensionalSparseArrays.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
module MultidimensionalSparseArrays
1+
module NDimensionalSparseArrays
22

3-
include("sparse_array.jl")
3+
include("ndsparsearray.jl")
44

55
export SparseArray, nnz, sparsity, stored_indices, stored_values, stored_pairs,
66
spzeros, spones, spfill, findnz, dropstored!, compress!, hasindex, to_dense
File renamed without changes.

test/test_advanced_arithmetic.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module TestAdvancedArithmetic
22

3-
using MultidimensionalSparseArrays
3+
using NDimensionalSparseArrays
44
using Test
55

66
@testset "Advanced Arithmetic Operations" begin

test/test_advanced_integration.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module TestAdvancedIntegration
22

3-
using MultidimensionalSparseArrays
3+
using NDimensionalSparseArrays
44
using Test
55
using LinearAlgebra
66

test/test_aqua.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
module TestAqua
22

33
using Aqua
4-
using MultidimensionalSparseArrays
4+
using NDimensionalSparseArrays
55
using Test
66

77
@testset "Aqua" begin
8-
Aqua.test_ambiguities(MultidimensionalSparseArrays, recursive = false)
9-
Aqua.test_all(MultidimensionalSparseArrays, ambiguities = false)
8+
Aqua.test_ambiguities(NDimensionalSparseArrays, recursive = false)
9+
Aqua.test_all(NDimensionalSparseArrays, ambiguities = false)
1010
return nothing
1111
end
1212

test/test_arithmetic.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module TestArithmetic
22

3-
using MultidimensionalSparseArrays
3+
using NDimensionalSparseArrays
44
using Test
55

66
@testset "Arithmetic Operations" begin

test/test_array_interface.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module TestArrayInterface
22

3-
using MultidimensionalSparseArrays
3+
using NDimensionalSparseArrays
44
using Test
55

66
@testset "Array Interface" begin

0 commit comments

Comments
 (0)