reduce tests
julia> A = Tensor(Dense(SparseList(Element(0.0))), [0.0 0.0 4.4; 1.1 0.0 0.0; 2.2 0.0 5.5; 3.3 0.0 0.0])
4×3-Tensor
└─ Dense [:,1:3]
   ├─ [:, 1]: SparseList (0.0) [1:4]
   │  ├─ [2]: 1.1
   │  ├─ [3]: 2.2
   │  └─ [4]: 3.3
   ├─ [:, 2]: SparseList (0.0) [1:4]
   └─ [:, 3]: SparseList (0.0) [1:4]
      ├─ [1]: 4.4
      └─ [3]: 5.5

julia> reduce(+, A, dims = (1,))
3-Tensor
└─ Dense [1:3]
   ├─ [1]: 6.6
   ├─ [2]: 0.0
   └─ [3]: 9.9

julia> reduce(+, A, dims = 1)
3-Tensor
└─ Dense [1:3]
   ├─ [1]: 6.6
   ├─ [2]: 0.0
   └─ [3]: 9.9

julia> reduce(+, A, dims = (2,))
4-Tensor
└─ SparseDict (0.0) [1:4]
   ├─ [1]: 4.4
   ├─ [2]: 1.1
   ├─ [3]: 7.7
   └─ [4]: 3.3

julia> reduce(+, A, dims = 2)
4-Tensor
└─ SparseDict (0.0) [1:4]
   ├─ [1]: 4.4
   ├─ [2]: 1.1
   ├─ [3]: 7.7
   └─ [4]: 3.3

julia> reduce(+, A, dims = (1, 2))
-Tensor
└─ 16.5

julia> reduce(+, A, dims = (:))
16.5

