︠ac9689ff-8ede-4bda-b7b8-b3394e0d5b15s︠ M = matrix([[2,1,0],[0,3,1],[1,1,1]]) M ︡d0ef3d8d-07ce-44d4-bc82-2d38b7b83d9a︡{"stdout":"[2 1 0]\n[0 3 1]\n[1 1 1]\n"}︡{"done":true} ︠1f913937-9290-4346-b5dc-ad975003d195s︠ M.echelon_form() ︡57825134-b4c3-4ccc-aa6a-192623dddc55︡{"stdout":"[1 0 4]\n[0 1 2]\n[0 0 5]\n"}︡{"done":true} ︠8e47016c-af81-4af8-b01f-e6742a76a01es︠ M.rref() ︡8adb44f2-f15d-418c-acc4-9780f4577156︡{"stdout":"[1 0 0]\n[0 1 0]\n[0 0 1]\n"}︡{"done":true} ︠2ca75df9-40db-4bc6-9532-d9433a25b219s︠ M.det() ︡a2f06643-b106-4473-9ac9-b858dfef2d1c︡{"stdout":"5\n"}︡{"done":true} ︠20c0d246-cd25-40d4-9ebf-10c3bbd9a761s︠ M.right_eigenvectors() ︡2591c7eb-637b-4451-85b7-0066fea7f56e︡{"stdout":"[(1, [\n(1, -1, 2)\n], 1), (1.381966011250106?, [(1, -0.618033988749895?, 1)], 1), (3.618033988749895?, [(1, 1.618033988749895?, 1)], 1)]\n"}︡{"done":true} ︠5dc23851-ef62-4963-9017-c07e16e000e9s︠ M.inverse() ︡66864c12-d424-4ed2-a95b-627fa31410ef︡{"stdout":"[ 2/5 -1/5 1/5]\n[ 1/5 2/5 -2/5]\n[-3/5 -1/5 6/5]\n"}︡{"done":true} ︠ad8c3bd9-d2c6-44c1-ad25-849b12f440a2s︠ P = M.charpoly() print P ︡ec20122f-0e25-4d9b-af65-feb6fe02584a︡{"stdout":"x^3 - 6*x^2 + 10*x - 5\n"}︡{"done":true} ︠5b9afb69-a807-4481-a169-46d8fe9e1ce2so︠ ︡bd3e5d23-2745-4c60-acee-e8976cfb1d88︡{"done":true} ︠04b8b919-46a6-4419-b471-2e265c260477s︠ P.factor() ︡3ccf3f6e-c3e8-40e9-9c9d-4a09d69ab72c︡{"stdout":"(x - 1) * (x^2 - 5*x + 5)\n"}︡{"done":true} ︠e73bad26-4721-4bc1-b53f-e15a0e08a7a7so︠ ︡e1e0c646-9a20-48ea-8ef0-296f891f11be︡{"done":true} ︠0fccf94a-a961-4c1f-91d0-391cc1298825so︠ ︡5acdab85-c255-4777-b43d-34698fe9f4bf︡{"done":true}