# Rationale for adding singleton dim

**URL:** <https://discourse.julialang.org/t/rationale-for-adding-singleton-dim/72053>\
**Category:** Performance\
**Tags:** indexing, matrices\
**Created:** [November 25, 2021, 10:28am UTC](https://discourse.julialang.org/t/rationale-for-adding-singleton-dim/72053 "2021-11-25T10:28:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mottelet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mottelet/32/31089_2.png) [@mottelet](https://discourse.julialang.org/u/mottelet)\
**Post date:** [November 25, 2021, 10:28am UTC](https://discourse.julialang.org/t/rationale-for-adding-singleton-dim/72053/1 "2021-11-25T10:28:06Z")

</div>

Hi.

What is the rationale for adding a singleton dimension in the following commands:

```julia
julia> A=rand(3,3);A[:,[2 1 3]]
3×1×3 Array{Float64, 3}:
[:, :, 1] =
 0.7056166212562252
 0.6016873438276988
 0.8375543887468311

[:, :, 2] =
 0.7127858488837275
 0.2064595407727965
 0.12457389352665937

[:, :, 3] =
 0.6390464694720495
 0.12757073495030102
 0.9146866678160415

```

Is there a different way (besides using `dropdims` _a posteriori_) to obtain a 3x3 matrix instead ? Thanks.

S.

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [November 25, 2021, 10:35am UTC](https://discourse.julialang.org/t/rationale-for-adding-singleton-dim/72053/2 "2021-11-25T10:35:46Z")

</div>

`A[:,[2, 1, 3]]` # index columns using a vector of indices (not a matrix)

---

<div class="post-metadata">

**Author:** ![mottelet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mottelet/32/31089_2.png) [@mottelet](https://discourse.julialang.org/u/mottelet)\
**Post date:** [November 25, 2021, 10:59am UTC](https://discourse.julialang.org/t/rationale-for-adding-singleton-dim/72053/3 "2021-11-25T10:59:09Z")

</div>

Thanks. I got to get rid of (bad) Scilab/Matlab habits…

S.

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [November 25, 2021, 11:17am UTC](https://discourse.julialang.org/t/rationale-for-adding-singleton-dim/72053/4 "2021-11-25T11:17:16Z")

</div>

For the rationale, [see this great post.](https://discourse.julialang.org/t/unintuitive-julia-result-selecting-a-row-from-a-matrix/66222/4)
