{ "cells": [ { "cell_type": "code", "id": "initial_id", "metadata": { "collapsed": true, "ExecuteTime": { "end_time": "2025-03-12T14:46:19.236991Z", "start_time": "2025-03-12T14:46:19.232966Z" } }, "source": [ "import numpy as np\n", "keypad_matrix = np.array([[1, 2, 3],\n", " [4, 5, 6],\n", " [7, 8, 9]])" ], "outputs": [], "execution_count": 5 }, { "metadata": { "ExecuteTime": { "end_time": "2025-03-12T14:46:19.249251Z", "start_time": "2025-03-12T14:46:19.244635Z" } }, "cell_type": "code", "source": [ "rng = np.random.default_rng()\n", "\n", "# Step 1: Get the matrix\n", "keypad_view = keypad_matrix.copy() # Using copy to simulate self.keypad_matrix()\n", "print(\"Original keypad_view:\")\n", "print(keypad_view)\n", "# Output:\n", "# [[1 2 3]\n", "# [4 5 6]\n", "# [7 8 9]]\n", "\n", "# Step 2: Shuffle rows in place\n", "rng.shuffle(keypad_view, axis=0)\n", "print(\"After rng.shuffle(keypad_view, axis=0):\")\n", "print(keypad_view)\n", "# Output (rows shuffled):\n", "# [[7 8 9]\n", "# [1 2 3]\n", "# [4 5 6]]\n", "\n", "# Step 3: Transpose\n", "set_view = keypad_view.T\n", "print(\"After set_view = keypad_view.T:\")\n", "print(set_view)\n", "# Output (rows become columns):\n", "# [[7 1 4]\n", "# [8 2 5]\n", "# [9 3 6]]\n", "\n", "# Step 4: Shuffle each row independently\n", "set_view = rng.permutation(set_view, axis=1)\n", "print(\"After rng.permutation(set_view, axis=1):\")\n", "print(set_view)\n", "# Output (each row shuffled independently):\n", "# [[4 1 7]\n", "# [5 8 2]\n", "# [3 6 9]]" ], "id": "c7db73ce336d9f0a", "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original keypad_view:\n", "[[1 2 3]\n", " [4 5 6]\n", " [7 8 9]]\n", "After rng.shuffle(keypad_view, axis=0):\n", "[[7 8 9]\n", " [1 2 3]\n", " [4 5 6]]\n", "After set_view = keypad_view.T:\n", "[[7 1 4]\n", " [8 2 5]\n", " [9 3 6]]\n", "After rng.permutation(set_view, axis=1):\n", "[[4 7 1]\n", " [5 8 2]\n", " [6 9 3]]\n" ] } ], "execution_count": 6 } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }