diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorExtensions.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorExtensions.cs index 42f6a4319b2044..5bddcb2ffc9ed3 100644 --- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorExtensions.cs +++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorExtensions.cs @@ -2658,8 +2658,14 @@ public static Tensor PermuteDimensions(this Tensor tensor, params ReadO if (dimensions.IsEmpty) { - lengths = tensor._lengths.Reverse().ToArray(); - permutation = Enumerable.Range(0, tensor.Rank).Reverse().ToArray(); + int[] tempPermutation = new int[tensor.Rank]; + for (int i = 0; i < tensor.Rank; i++) + { + lengths[i] = tensor._lengths[tensor.Rank - 1 - i]; + tempPermutation[i] = tensor.Rank - 1 - i; + } + + permutation = tempPermutation; } else {