# Problem with permuting dimensions of multi dimensional arrays

**URL:** <https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692>\
**Category:** General Usage\
**Created:** [December 11, 2017, 4:10pm UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692 "2017-12-11T16:10:12Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![maxtremblay](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxtremblay/32/1369_2.png) [@maxtremblay](https://discourse.julialang.org/u/maxtremblay)\
**Post date:** [December 11, 2017, 4:10pm UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/1 "2017-12-11T16:10:12Z")

</div>

Hello,

I have a problem when I want to reshape and permute dimensions of an array of 2^16 elements that doesn’t appear with an array of 2^n elements with n \< 16.

Does someone have an idea of the source of the problem?

 ![15](https://global.discourse-cdn.com/julialang/original/3X/0/d/0dab34328aafd504658d1a3a5bee30099e156229.png)

---

<div class="post-metadata">

**Author:** ![rdeits](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rdeits/32/286_2.png) [@rdeits](https://discourse.julialang.org/u/rdeits)\
**Post date:** [December 11, 2017, 9:34pm UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/2 "2017-12-11T21:34:42Z")

</div>

Could you please post the actual code (and quote it with [PSA: how to quote code with backticks](https://discourse.julialang.org/t/psa-how-to-quote-code-with-backticks/7530)) instead of a screenshot? Currently your error can’t be searched and your code can’t be copy-pasted.

---

<div class="post-metadata">

**Author:** ![maxtremblay](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxtremblay/32/1369_2.png) [@maxtremblay](https://discourse.julialang.org/u/maxtremblay)\
**Post date:** [December 11, 2017, 10:25pm UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/3 "2017-12-11T22:25:22Z")

</div>

Here it is :

```julia
function f(n)
    x = collect(1:(2^n));
    y = reshape(x, ntuple(w -> 2, n));
    z = permutedims(y, n:-1:1);
end

```

which error for any `n > 15`. I try it on my computer and my friend’s computer, both with Julia 0.6.

---

<div class="post-metadata">

**Author:** ![JackDevine](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jackdevine/32/1048_2.png) [@JackDevine](https://discourse.julialang.org/u/JackDevine)\
**Post date:** [December 11, 2017, 11:03pm UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/4 "2017-12-11T23:03:46Z")

</div>

I can confirm that this does not work on Julia 0.6.1. I tried it on 0.5.2 and it kept on working all of the way up to `f(21)`, but I didn’t try any higher because it was taking up too much time.

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [December 12, 2017, 1:45am UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/5 "2017-12-12T01:45:02Z")

</div>

Please post the actual input and error message.

---

<div class="post-metadata">

**Author:** ![Ralph\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ralph_smith/32/10344_2.png) [@Ralph\_Smith](https://discourse.julialang.org/u/Ralph_Smith)\
**Post date:** [December 12, 2017, 2:56am UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/6 "2017-12-12T02:56:25Z")

</div>

A likely explanation is that 15 is the default value of `MAX_TUPLETYPE_LEN` in `InferenceParams` ([inference.jl](https://github.com/JuliaLang/julia/blob/master/base/inference.jl) in Base). I don’t know which wizard to ask whether one can compile a method in a customized inference context.

---

<div class="post-metadata">

**Author:** ![Liso](https://avatars.discourse-cdn.com/v4/letter/l/898d66/32.png) [@Liso](https://discourse.julialang.org/u/Liso)\
**Post date:** [December 12, 2017, 4:00am UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/7 "2017-12-12T04:00:58Z")

</div>

f(20) works on 0.7.0 …

---

<div class="post-metadata">

**Author:** ![maxtremblay](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/maxtremblay/32/1369_2.png) [@maxtremblay](https://discourse.julialang.org/u/maxtremblay)\
**Post date:** [December 12, 2017, 2:46pm UTC](https://discourse.julialang.org/t/problem-with-permuting-dimensions-of-multi-dimensional-arrays/7692/8 "2017-12-12T14:46:22Z")

</div>

Here is the whole code with the error message.

```julia
n = 16
x = collect(1:(2^n));
y = reshape(x, ntuple(w -> 2, n));
z = permutedims(y, n:-1:1);

ERROR: MethodError: no method matching checkdims_perm(::Array{Int64,2}, ::Array{Int64,16}, ::StepRange{Int64,Int64})
Closest candidates are:
  checkdims_perm(::AbstractArray{TP,N}, ::AbstractArray{TB,N}, ::Any) where {TP, TB, N} at multidimensional.jl:1247
Stacktrace:
 [1] permutedims! at ./permuteddimsarray.jl:129 [inlined]
 [2] permutedims(::Array{Int64,16}, ::StepRange{Int64,Int64}) at ./multidimensional.jl:1243

```
