Files
pynkode/notebooks/test_book.ipynb
2025-03-13 04:40:45 -05:00

119 lines
2.8 KiB
Plaintext

{
"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
}