{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Импортируем все функции из `sympy`:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from sympy import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Настроим\" печать, чтобы при выводе на экран выводились сами символы, а не слова, их означающие:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "init_printing()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Создадим символ для $\\lambda$ (\"lamda\") и сохраним его в переменную `lam`. Теперь Python будет относиться к нему, как к переменной, как к неизвестной." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "lam = symbols('lamda')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Проверим. Создадим матрицу $M$\n", "\n", "$$ M = \n", "\\left(\\begin{array}{cc} \n", "3-\\lambda & 3\\\\\n", "3 & 3-\\lambda\n", "\\end{array}\\right)$$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKEAAAAyBAMAAADGjaZoAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhDN3WYiRLt2\nq5m0eR0yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACc0lEQVRYCe3XO2/TUBQH8H8Tm8ZuRYJ4SJSB\n0gEGlnwApFSiiIGhmXhMZUDOhFSQoAMSZISpUTcWcL8ArcSCEBL9BuUjsDAhlUcpj6oo3Pjc6/oe\nn4st5I1mqO89j19OrhrLwenhV1T2qg2HLRydu1QZCH/uYgvHMp7/JLP5t6Vni1iOubMy85KH9vdC\nkovj6/vlySp4j06fxdKtlOTi5I4pv0CLyW00F02MX6UkF4M906XFcAoLN02MX6UkF9EzXVpUW/en\nlpI5cXlWk6no39UR6ZJP5sSFaSYG5z5IFMWEZE6cbzEROBO7yXySRL+3pF73ZwHv1e6o/WwU3Ymi\n2ySNHaer+DeX5DNe7v7WjfocgwEmtkVLBaUkE8OT+GSLzZ2/iFKSiWsx5ttE6hnH1jH+yzWjlLTF\n8CdgvodabPTR2XCJUtIWJ1RvXU9k/h9fbL12gYCQtMVsqxGzsTJrt3ijTLtQ4xaF4lKhA7HUMRUW\nHZxj4RFZBdcH1jbdSOcYzJzX95+0TFg0kltzNkF9kvgMdXUPKnw94BXUJ4mbbfzg1cJ+s6uD9Q1a\nUJ8krsb+d0HgoecaghGpTxLVPbLMpz60qN/DiNQni9em+UDCvvEtJ476RHHloTkiAUpDvnk0TmdM\n+kQRtam0z73wvuhcKiZ9sogjziGvjp4Vlm4p7Ery9FqLot6JKHpHuuqTxKfA27Z7Np3x7jU1Y2ak\nPkkcdsuIq4PDnwk3IvVJ4ing0aBoxnAXnn56MSL1SeJj1PeKQKz1Af09NCL1SWK49TEuFN+oig59\nEiNSnyQWaqzAiBSuQvStQ69CtEf+b8Xqfw1X/ov9D3z7laEpiQg7AAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}- \\lambda + 3 & 3\\\\3 & - \\lambda + 3\\end{matrix}\\right]$$" ], "text/plain": [ "⎡-λ + 3 3 ⎤\n", "⎢ ⎥\n", "⎣ 3 -λ + 3⎦" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M = Matrix([[3 - lam, 3], [3, 3 - lam]]) # lam, не lamda (имя переменной)\n", "M" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Посчитаем определитель:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAbBAMAAACuHe0WAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIma7zZnddlTvRIkQ\nMqvFy5UvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB7ElEQVQ4EY1UTShEURT+7oye+XnDlLKxeUrJ\nylBKsqAmSWE2NigWEtnMgqVYYceUlSzeho3EAiVlRtlYmZXtZGFh5bdIwnk/9717p/v0zuZ+5zvf\n98559717gZBx2lUKqVTJkum6PhUfktPSqZeQUpVMM9mXig/Nxb5DS1VCLa9iQ3OnaiUzPF5v9qAI\nImnKIjmR8nGDD9FuCokNmy66gXuCBziUa/rEpfXYfoHVMkJiQZbDpoFrIDW40SvXbgxWqBqq1tvd\ndUdb+4n6aSTziP/+Psv2R+AB0KwJeLAPjlx7Yge3fdC3OC2s70ARaBQYYIBnrp1SGh5DnPZX/Q1Y\nKWPJZwi1l93Us+sLxKg+2jZ1N9Ep2W+Pq+zsbJKYFknkJDT5qIE5qVLhb+l1x7kJrEkiJ6nJx4qr\n2AH0gVmKGZo71Wmfi5Nsdj6bHXFk8V2gwu2+FGhdLpYtux93pR83cbuzNKKfgt2XWuipJA2fKGBK\nttd/2/Z92cYzmk/cuiMTlVWn5naPZ6DRNaHaujb7AhG+SeKV/qKMZI8Y2MwDE7yfsC6Wrg1AmCtK\nwph7JfGd3xvrIcuwYOMwOTZOUPppeQngdpth036hCgWc4ytRRkcmMDoCK16BDmxgiNdFgOi/DswI\nMHm0fVl5mQT+AK+ZYwSJcUS1AAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left(- \\lambda + 3\\right)^{2} - 9$$" ], "text/plain": [ " 2 \n", "(-λ + 3) - 9" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.det()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Найдем, при каких значениях $\\lambda$ определитель равен нулю:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADoAAAAUBAMAAAAuMzNdAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdt3NMolEEJlmVCLv\nu6sHwGgPAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA6klEQVQoFWMQMmHABSarMYQxsLdOdcBUECrq\nAJQLY2BewK6NIVucwGEAlp3DwBCMIXuDgfcCWPYeA8P6AjRptt8gAZDJ/xgY8hegyfIeAAkAZdl/\nAGUF0GT5TQLbwLLcXxkY/APQZOstGXgWgPRyA/Viyn5n4DiO22QFBs5vIFmQq9YvQDOZyYCB8ydY\n9i4Dw3x0H/EdgOkFhkYzmlYGFqC9B8B6mRawH2GoN0BV8JShBuxmBvZAOQcGJnVUWdaOJ2D/QkVX\no8qCeSA3QwB6eIBE4bLsAlBVyBRclhNZFMYOYxBSgbExaCE1AJfVN78iPIxTAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left [ 0, \\quad 6\\right ]$$" ], "text/plain": [ "[0, 6]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(M.det(), lam)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Посмотрим, как выглядит обратная матрица для $M$ ($\\lambda$ считается за переменную):" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}\\frac{3 \\lambda - 9}{- 3 \\left(- \\lambda + 3\\right)^{2} + 27} & \\frac{- \\left(- \\lambda + 3\\right)^{2} - \\left(- \\lambda + 3\\right) \\left(\\lambda - 3\\right) + 9}{- 3 \\left(- \\lambda + 3\\right)^{2} + 27}\\\\\\frac{3}{- \\left(- \\lambda + 3\\right)^{2} + 9} & \\frac{\\lambda - 3}{- \\left(- \\lambda + 3\\right)^{2} + 9}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ 2 ⎤\n", "⎢ 3⋅λ - 9 - (-λ + 3) - (-λ + 3)⋅(λ - 3) + 9⎥\n", "⎢────────────────── ──────────────────────────────────⎥\n", "⎢ 2 2 ⎥\n", "⎢- 3⋅(-λ + 3) + 27 - 3⋅(-λ + 3) + 27 ⎥\n", "⎢ ⎥\n", "⎢ 3 λ - 3 ⎥\n", "⎢ ─────────────── ─────────────── ⎥\n", "⎢ 2 2 ⎥\n", "⎣ - (-λ + 3) + 9 - (-λ + 3) + 9 ⎦" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.inv()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Поподставляем вместо $\\lambda$ какие-то значения:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEoAAAAyBAMAAAAJj1DuAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhDNu2ZEdqvd\nmSKTRmjEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABTklEQVQ4EWOQ//+JAT/Q//+RQdjFFb8ihhAX\nQwYRAmpA0o5QVSzprZYYyt0qgieABWGqokL2LEBXxbrU+xREDKYKXQUqnyRVrCC9YALJkAAQG0xA\nzIqWl2BgYKrdhaSEgXXjxwYGBvXbC4CCEFUlDOsTWJMZWBSAIjDA7sD1jSHMgMEJKABWxeHAwPyd\nzYGBoQ+mBEi3MDDYF6QwMHA8gKriAgrqgzzNAcQwsADohj9AgqEBSRX7L6AASDkMLAAy6kEEEINt\nBEmyywODOQLIgIEFQEbhT6DPG2DuAnp30UM5BoZ1MCVAuhVotJ7gAwauB1BVDBcYmC6wfJzAoYCk\nipeBQZfBX5KhCSgGCYnY28UMDLEfhZAUMbDe3W7AwHpfEKQTogoS7ITCHtkMbGyoWdikkMRGVcEC\ng7SQGM214PDiGM21IyXXElfzEVWLAgC9uXvJGIlFjwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}\\tilde{\\infty} & \\tilde{\\infty}\\\\\\tilde{\\infty} & \\tilde{\\infty}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡zoo zoo⎤\n", "⎢ ⎥\n", "⎣zoo zoo⎦" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M_inv = M.inv()\n", "M_inv.subs({lam: 6}) # лямбда равна 6" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGwAAAA0CAMAAABYZS1lAAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\n74lUMhDN3ZmrInZmu0RA19ntG2bPMAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAgdJREFUWAntmGt3\nwiAMQMOr0Kfb+P//daS1DyUNwbkzz5l80AoJt0RarwXgm234cWa0NtWG1jPTcUNkqoqp6dM08ygM\n4JiqkaJAGWut+22YSxCTYPYUhAPH02MD88H7VPuG5UUq97x6GVV5CScRaffdtNIG6YKPbX+TIv2Q\np5Zg0plFcX8Ic43fWsNf64eliLMKK8Mb2twOcwsO16ztfckpwAQTV4QUYYPuw/ld+pSkw7imjVtQ\nCTakb87t4Vte4UB3AO3yq2vidq4l2JiyoP632qc0GzHXaTksqAlsW1hHPuwngC6mF+idHOZ8HEM+\nmaRnrp81FTAYVMSaPNA83uU0VMC0BqPU9hVXMDUWZOgqYA5tx3lTAbmGDshyaXHylXXzru/rYVPS\ntcmakFoMw/UESlu/6ZJpttVltI0xZrzgNdPJd+Pl4/MLr9DKNrtoRL8dxtiuhSmt7K1yZJlf3a6e\n88cCl/6vN8idaZJbge58Sypdlx/27rtRrJokUZS9w7I5NsNcD7IItmPNinsUA9uDnnXEwkjTlJMz\nv+VgtGmKYbnfcjDaNMWw3G9ZGGmaYljutxwMp81NUwzL/bYEy01TDMv9tgAjTFMMy/2Wh1GmKYUR\nfsvCSNOUwgi/RdjZI8DFNGdBPZimFAYN6ubmt+sjQLyLUQ83F9PEyY+mKYa5oPvdb5eHm9+zaRUd\ndhgH9wAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}- \\frac{1}{8} & - \\frac{1}{24}\\\\- \\frac{1}{24} & - \\frac{1}{8}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡-1/8 -1/24⎤\n", "⎢ ⎥\n", "⎣-1/24 -1/8 ⎦" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M_inv.subs({lam: 12}) # лямбда равна 12" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Создадим матрицу R\n", "\n", "$$ R = \n", "\\left(\\begin{array}{cc} \n", "a & b\\\\\n", "c & d\n", "\\end{array}\\right)$$" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAyBAMAAAAKOF7GAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhAimXZEzWa7\n3asFX9bSAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABSklEQVQ4Ee3UPUsDMRwG8Kdpc6WnxYJ2suIN\nbiLcN6hg3c/JRbj7BFKKgzhoh0J1s59AFyk4iKNjnQQnwd3FpeAiSgvS4UzIi3/hLrODWS7J75K7\nJA/BavqBrMLStIbF1naWgbe2aljKJNlZysa9FQfixoWfDqxMHMieCHqdw7psmuKP+6H920HivxuQ\nz/iKTw3yZZRHFJsRxLapdZYnqHYpHoFbLIwQb1IcoiIWo0bGAZrUMIOYzGCIx2JC+As7twb97twL\nI4Y3PIimmpaP1/bPKO72xUCNtJ/U1UjSQav/KHYjdxNK9+18xELowIvIgRuOb2L4g+y0Rw/L6/Rs\nwOA945riIJm3AUMhwCtBGfJLO+1JRAgyl9XAYuOXQYb83KDMPi065Hr7ZkCRaKxCrvEY/ICgDrlG\ntn5HDDrkuaci3/2L6LxSXZfxN0SVSvCGgXwsAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}a & b\\\\c & d\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a b⎤\n", "⎢ ⎥\n", "⎣c d⎦" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a, b, c, d, lamda = symbols('a, b, c, d, lamda')\n", "R = Matrix([[a, b], [c, d]])\n", "R" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Вычтем из главной диагонали $\\lambda$:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIEAAAAyBAMAAACJ0KW4AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhAimXZEzWa7\n3asFX9bSAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACX0lEQVRIDe1Xv2/TQBh9JHaDnZZG/BwAUSGG\njp5YY4nCVNQwVQJEvDHxQ0yoSy2WwkT6F7QDCJaiTiwINRsIBiokFkRRxkgshVJEVInwnc+Wv7uL\nrbpZc4Pve+979/z5fLmLca7/CwdupX6/hmMzlw9sAHvmUg3HB463Xw+kTdLKcsBGy1RHzM2zSiLb\nYaKtCBl4xWIg2+HwriJkYIfFeQ5jfxVhChzVOrsGrKWDlKi0qcDYYezBwxMKT2DD1xmJ3e6SxzKx\nw3LgbjM2CptTOiNx87n9h2Wkg30alTZjo3CupjMS1xvgi1g6VHYxEVLeXtui9tUXUutjT3RmW4Bt\nOhxqo+lr2quNfxoTwxdw+PuUNdAj1zW5cxKLGhXDPVDJaYsdPHwoBylL0UoLc3zK02QP19ZTFK9J\nN6x+LzEWcPaAjHX9A++4NH4X3Qt3n3Aa4yFQ5i8tzc4v8RJyfhfpkPxI1pCvyc+OHOT8jOZh+Hm4\nEQiPIjM5e0reNblWoy2oiAP4xiJsvolLEQftoACeNgo6lDbFPVm7FxIoUoN7n40WoSssTYfpx77I\nGu32tLHrVX+TynC447mrxmgiaOf9JB6bt2jXNxyO4ojHVUlMu+tCEie99ZMi3UHZyBOl6Bcb+Cz6\n6+JM2nomQsyKfym6A509g9sZ2PoZZn2Z7JgOWcctPXJ5W/NeDipE6TVMrgOephTQ3sH46kUl4fRg\n0SrVHSodzPuKMAYv8bYzpSRW6Ga0rnUHnH8TKroE3Hp0pdtKQNS/p2s9MB0U0X6AUcN+BimakYOc\nDpqH4b8Ohv5C+Q9tlnta2vWrDQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}a - \\lambda & b\\\\c & d - \\lambda\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a - λ b ⎤\n", "⎢ ⎥\n", "⎣ c d - λ⎦" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = R - lam * eye(2) # eye - единичная матрица\n", "L" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Подставим вместо букв определенные значения:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKEAAAAyBAMAAADGjaZoAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhDN3WYiRLt2\nq5m0eR0yAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACh0lEQVRYCe2Xv2/TQBTHv3HsNE4KiQRUKhJq\nYIAJQSVGpESiiIGhmRBMZUDOVKkg0Q4smVA71eIPoOEfoJEYQAiJMDCwABNb2wjECAFKJaiowtV3\nL3HOd/YFZaMecu/d+76P3z3/yBlT3R8Y2WF1u0Ucmbk8MiCcmUtFHA3xnJWQ82+mPUjEamMozoNT\nT2S9TBxrygpMVyNTNOG2Ua6TI0aZOL5DgovccDa39MTxbRQWKEFDdP+QQBCBd3pi7jjmblKChoga\nCUyITJu4aqxWBNKM6NyhCmiU+4i50jBE98xnItEYIc4WhyECJxuEEiMnOrUldixWAPvZ7n7ktOfd\n9rz5QBRzZVg8dSwQ9X/kGq9U90TQpI+uj/x2HxZYEjE3ic4QxMJOInG9gdnzHGlSY6qJsd+xNeZ+\nAfQcmhCzdZRbscQ8C6fFSYn4ZWq+LiX13cdfn/cdbkl9DIWJGJoyMvXEG0b5UZGeGNWazRwQzfqU\npDroY1KHBuPX/UGfPHUf7TbF9WM2eDWH45nX9if2zpb2FFxB75+wPmLfk2dS3W5JR3zVlNUKv/dv\nkW7xaObsG2Yoa3TvmxDXBAhEPBSAlUQrY0LMLPDSTIgrRsTsT5m4/LaiXrXTMiI6tDWmVeerLrv+\nqlVbMCLa36UamftUTbwQR7y2v1dYusWyrwa7V8vzahOe957TO76qRqcURxR1sVruFgSGVv0BONdQ\nEdMbG1snWr1MnfHIP/yNx4g4AXSqKiKTpZo6Tm8+twtbbFCI2AYW1X0ECsnE9TognkMiPkR2UkO0\nXu4xffzxgoXLfqAhovtxs6ohxrMiUSLygOp+jKQkTDi8VKEaBXHwhP8tcfRfwyP/Yv8LgjyRHff0\nn7YAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left[\\begin{matrix}- \\lambda + 1 & 3\\\\4 & - \\lambda + 5\\end{matrix}\\right]$$" ], "text/plain": [ "⎡-λ + 1 3 ⎤\n", "⎢ ⎥\n", "⎣ 4 -λ + 5⎦" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L = L.subs({a: 1, b: 3, c: 4, d: 5})\n", "L" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Дальше можем работать с матрицей L как угодно." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEoAAAAUBAMAAADYerbFAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdt3NMolEEFTvq5lm\nIrvActx7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAsElEQVQoFWMQMmEgBA6rMYThVcOitTU0FKgG\nSRXHdAwdPP////+Foqpq13cMVdwXGBgWoKhiYMRUxcrAwOpAUBXQ8EQGYlQ9IEYV6wFiVNUDLQWF\nRLESCAADF4vrGRiEoaqAFARgVaUHlEMJVWyq2H8Ro4rlNzZV9QYQ22EkB7oq7pWf1zAwqcPkITTv\nDCCN4i6weC+qKjAPU1UAMarYBYhRxYNFEdBdQirYxFHEhNQALZ4tb1fU0FwAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left [ -1, \\quad 7\\right ]$$" ], "text/plain": [ "[-1, 7]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(L.det())" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGMAAAAyBAMAAAC6x3j0AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhAimburRN3N\ndmbBWFV7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACYUlEQVRIDe2WT2jTUBzHv0mXpP/WBrQwRFws\nIoKIFS+Khxac7DJwelYSPDi8aBFkUxAKCoJ4GOJlaKWePFp2ECeIPXgQLFI8KHjazas6M8SD8de8\nvOQ1yZvbzsslv/f9vk9+zY/Ht8Gk9xObv1TPM7Fr6szmCWhTp03s3gIw3DrGkLmFu1LwUvXOiMcQ\nbRFHOyN6tNCbqK9GS94lNwvFFOVhnRn4yvgayl3RY12ULnK/RHlYB0h+D+ye6DGk6MoR2p32w0gu\nuNCv364Ijwu6ANoyRI91oY0vLDxzit+BGU5xRD98A8xTF6jiQwZWoO2D0cL04zgC7O8w7yCeCIjR\nhOGiQEM65SNqv/9hb7+/6C+UCvNe4qwTdfkCKC3YDY7Q1uCH6Q6ya8x7jWudEMk0cdm2UKedrEuE\nlF1CAg/12RCZBj7bNTzIOAmEGhTWAw9v6FFsYvpy9Wa3OCitqMkupVXUB4GnNkOk6HleV2sfuPI1\nieD5/H0E3jcioiEPF/4Vfxeu0z1v5RtpyDG+R3N4xe8zx09Er89FYO5tO1rEqknPIyU8MDF3g+UO\nss0c22CmCSscMp1l2VX91BCtEHklqiP1hY7REwWOjE+Iql/zuLiHbEs0OXL1vaiKSH495nDEkiJZ\nMx0pOYSkR1/53ZFbI17Q5SIISY8++yOUWkr0WYRIos92YVSS0ZdpECKJPvqnKP1JRt95ECKJvkIP\npb/J6Du5tPSjLYm+nEldUqIPmIAk+sboXcxk9NHkf0MSfXiIc7Vk9AGHvKey6FPnH+1EX3Sc+eGP\nlP9WhGzj42rrn3D/AN6CxW38ooGyAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}2 a_{1} + 3 a_{2}\\\\4 a_{1} + 6 a_{2}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡2⋅a₁ + 3⋅a₂⎤\n", "⎢ ⎥\n", "⎣4⋅a₁ + 6⋅a₂⎦" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a1, a2 = symbols('a1, a2') # введем новые символы\n", "\n", "L.subs({lam : -1}) * Matrix([a1, a2]) # подставим lam = -1 и домножим на вектор (a1, a2)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHQAAAAyBAMAAAB/teJlAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEImZRO/dMlQiu6vN\nZnZmcXX2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACfklEQVRIDZ2WP4gTQRTGv02ySdYkl2Bho7Dh\n4BQrV8XmBFkQ6/NArPwTDg3IiQauPdDmRGw2eJVYJIKghWAstJLjbOzEA7F2QRuru9XCO0+MM292\n92Z3g5nJFLvfvPl++yY782YDsLbf4Vf1Zj2PvIWLnUgq3j8/CY3euKQPp+M0ArHaDRLW7zG5LAfe\nRtLTG1C/EiTDmd7UNuqtZDT/i/r19WQ40ytcgJ3ylP6Sqy6SZwg5kJ6w8ZNG7fGosQBYJ87Mx08z\ndhVR6/Bx4Fy3uoXcLFOsKaPAjGtcRr6Po3iri5rz+QBFHzdwp6uT1epi37bZh93BNfRcHbQeMNRu\nwuOQ19BBzT6KO/ZdvCizyd7ipPJrqm3A86t+bTEH5BwtFGdPPoWxduTxN+ATkcpZhZuuhWahw4XG\nukb08v0HWq8p4tj96nAoemIj9prSmKoUNf7FVfVLvo+k23RNFMaiZBotqQpzOzRIhYFl0sal0X4p\nWuHUjMsjojCW3nCt1F67OPSKnKIwcE/CjPdt1m52MEy2LfKUr+CAqF2TCiOBSk8ZIUvs4DhF2yMs\nDDnrCL8U4r9TnIthYSijOTpNaXHCwhCowhue8/kMNlnqqDDCrOPX9SUnIW/E/0x4dfYZ2cXlD91s\nZy+0sidTyhjgmBvHskW3enstHk2JSgPm+TiWReOhrDBbqIhvFB/TQqvBxChLVQziyWhlZdRcc2JU\nWm3NrHlpETXRr/F0Nd8wyg4exbBe1iXg+2SotTB9upVGVf6GAFV2ykio+BtirscPUxalH2Slc1EZ\nEsYpsZ0t8f3Qgu2+sG/6WhgzG9cbAqnthkL5CSvvIuvBQaTU7tYH7vsH2wi5jcnouLEAAAAASUVO\nRK5CYII=\n", "text/latex": [ "$$\\left \\{ a_{1} : - \\frac{3 a_{2}}{2}\\right \\}$$" ], "text/plain": [ "⎧ -3⋅a₂ ⎫\n", "⎨a₁: ──────⎬\n", "⎩ 2 ⎭" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(L.subs({lam : -1}) * Matrix([a1, a2]), a1, a2) # приравняем к нулю и решим относительно a1 и a2 " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1+" } }, "nbformat": 4, "nbformat_minor": 2 }