{
"metadata": {
"name": "",
- "signature": "sha256:0fe9165e4a65606dd93377df5e8d4ccf8671a4edf4adc8d5da4b33f83316516f"
+ "signature": "sha256:112d1c84c318592f927e18c5b0f15ed60ac8418ca15cb79596ba6212ff2d7e3f"
},
"nbformat": 3,
"nbformat_minor": 0,
],
"prompt_number": 184
},
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "len([list(m) for m in itertools.product([list(r) for r in itertools.product(range(26), repeat=3)], repeat=3)])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "KeyboardInterrupt",
+ "evalue": "",
+ "output_type": "pyerr",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
+ ]
+ }
+ ],
+ "prompt_number": 203
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "(3**3)**3"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 202,
+ "text": [
+ "19683"
+ ]
+ }
+ ],
+ "prompt_number": 202
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "[np.matrix(list(m)) for m in itertools.product([list(r) for r in itertools.product(range(3), repeat=2)], repeat=2)]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 206,
+ "text": [
+ "[matrix([[0, 0],\n",
+ " [0, 0]]), matrix([[0, 0],\n",
+ " [0, 1]]), matrix([[0, 0],\n",
+ " [0, 2]]), matrix([[0, 0],\n",
+ " [1, 0]]), matrix([[0, 0],\n",
+ " [1, 1]]), matrix([[0, 0],\n",
+ " [1, 2]]), matrix([[0, 0],\n",
+ " [2, 0]]), matrix([[0, 0],\n",
+ " [2, 1]]), matrix([[0, 0],\n",
+ " [2, 2]]), matrix([[0, 1],\n",
+ " [0, 0]]), matrix([[0, 1],\n",
+ " [0, 1]]), matrix([[0, 1],\n",
+ " [0, 2]]), matrix([[0, 1],\n",
+ " [1, 0]]), matrix([[0, 1],\n",
+ " [1, 1]]), matrix([[0, 1],\n",
+ " [1, 2]]), matrix([[0, 1],\n",
+ " [2, 0]]), matrix([[0, 1],\n",
+ " [2, 1]]), matrix([[0, 1],\n",
+ " [2, 2]]), matrix([[0, 2],\n",
+ " [0, 0]]), matrix([[0, 2],\n",
+ " [0, 1]]), matrix([[0, 2],\n",
+ " [0, 2]]), matrix([[0, 2],\n",
+ " [1, 0]]), matrix([[0, 2],\n",
+ " [1, 1]]), matrix([[0, 2],\n",
+ " [1, 2]]), matrix([[0, 2],\n",
+ " [2, 0]]), matrix([[0, 2],\n",
+ " [2, 1]]), matrix([[0, 2],\n",
+ " [2, 2]]), matrix([[1, 0],\n",
+ " [0, 0]]), matrix([[1, 0],\n",
+ " [0, 1]]), matrix([[1, 0],\n",
+ " [0, 2]]), matrix([[1, 0],\n",
+ " [1, 0]]), matrix([[1, 0],\n",
+ " [1, 1]]), matrix([[1, 0],\n",
+ " [1, 2]]), matrix([[1, 0],\n",
+ " [2, 0]]), matrix([[1, 0],\n",
+ " [2, 1]]), matrix([[1, 0],\n",
+ " [2, 2]]), matrix([[1, 1],\n",
+ " [0, 0]]), matrix([[1, 1],\n",
+ " [0, 1]]), matrix([[1, 1],\n",
+ " [0, 2]]), matrix([[1, 1],\n",
+ " [1, 0]]), matrix([[1, 1],\n",
+ " [1, 1]]), matrix([[1, 1],\n",
+ " [1, 2]]), matrix([[1, 1],\n",
+ " [2, 0]]), matrix([[1, 1],\n",
+ " [2, 1]]), matrix([[1, 1],\n",
+ " [2, 2]]), matrix([[1, 2],\n",
+ " [0, 0]]), matrix([[1, 2],\n",
+ " [0, 1]]), matrix([[1, 2],\n",
+ " [0, 2]]), matrix([[1, 2],\n",
+ " [1, 0]]), matrix([[1, 2],\n",
+ " [1, 1]]), matrix([[1, 2],\n",
+ " [1, 2]]), matrix([[1, 2],\n",
+ " [2, 0]]), matrix([[1, 2],\n",
+ " [2, 1]]), matrix([[1, 2],\n",
+ " [2, 2]]), matrix([[2, 0],\n",
+ " [0, 0]]), matrix([[2, 0],\n",
+ " [0, 1]]), matrix([[2, 0],\n",
+ " [0, 2]]), matrix([[2, 0],\n",
+ " [1, 0]]), matrix([[2, 0],\n",
+ " [1, 1]]), matrix([[2, 0],\n",
+ " [1, 2]]), matrix([[2, 0],\n",
+ " [2, 0]]), matrix([[2, 0],\n",
+ " [2, 1]]), matrix([[2, 0],\n",
+ " [2, 2]]), matrix([[2, 1],\n",
+ " [0, 0]]), matrix([[2, 1],\n",
+ " [0, 1]]), matrix([[2, 1],\n",
+ " [0, 2]]), matrix([[2, 1],\n",
+ " [1, 0]]), matrix([[2, 1],\n",
+ " [1, 1]]), matrix([[2, 1],\n",
+ " [1, 2]]), matrix([[2, 1],\n",
+ " [2, 0]]), matrix([[2, 1],\n",
+ " [2, 1]]), matrix([[2, 1],\n",
+ " [2, 2]]), matrix([[2, 2],\n",
+ " [0, 0]]), matrix([[2, 2],\n",
+ " [0, 1]]), matrix([[2, 2],\n",
+ " [0, 2]]), matrix([[2, 2],\n",
+ " [1, 0]]), matrix([[2, 2],\n",
+ " [1, 1]]), matrix([[2, 2],\n",
+ " [1, 2]]), matrix([[2, 2],\n",
+ " [2, 0]]), matrix([[2, 2],\n",
+ " [2, 1]]), matrix([[2, 2],\n",
+ " [2, 2]])]"
+ ]
+ }
+ ],
+ "prompt_number": 206
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "all_matrices = [np.matrix(list(m)) for m in itertools.product([list(r) for r in itertools.product(range(26), repeat=2)], repeat=2)]\n",
+ "valid_matrices = [m for m, d in zip(all_matrices, (int(round(linalg.det(m))) for m in all_matrices))\n",
+ " if d != 0\n",
+ " if d % 2 != 0\n",
+ " if d % 13 != 0 ]\n",
+ "len(valid_matrices)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 215,
+ "text": [
+ "157248"
+ ]
+ }
+ ],
+ "prompt_number": 215
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%%timeit\n",
+ "[m for m, d in zip(all_matrices, (int(round(linalg.det(m))) for m in all_matrices))\n",
+ " if d != 0\n",
+ " if d % 2 != 0\n",
+ " if d % 13 != 0 ]\n",
+ "print('done')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "done\n",
+ "done"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "done"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "done"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "1 loops, best of 3: 10 s per loop\n"
+ ]
+ }
+ ],
+ "prompt_number": 216
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%%timeit\n",
+ "[m for m in all_matrices\n",
+ " if int(round(linalg.det(m))) != 0\n",
+ " if int(round(linalg.det(m))) % 2 != 0\n",
+ " if int(round(linalg.det(m))) % 13 != 0 ]\n",
+ "print('done')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "done\n",
+ "done"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "done"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "done"
+ ]
+ },
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "\n",
+ "1 loops, best of 3: 20.4 s per loop\n"
+ ]
+ }
+ ],
+ "prompt_number": 217
+ },
{
"cell_type": "code",
"collapsed": false,