{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 試験解答例18" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 簡単な行列計算" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "array([[ 4, -1, -1],\n", " [ 1, 2, -1],\n", " [ 3, -1, 0]])\n" ] } ], "source": [ "import numpy as np\n", "from pprint import pprint\n", "aa = np.array([[4,-1,-1], [1,2,-1],[3,-1,0]])\n", "pprint(aa)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "array([[-0.16666667, 0.16666667, 0.5 ],\n", " [-0.5 , 0.5 , 0.5 ],\n", " [-1.16666667, 0.16666667, 1.5 ]])\n" ] } ], "source": [ "import scipy.linalg as linalg\n", "inv_a = linalg.inv(aa)\n", "pprint(inv_a)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "array([[ 1., 0., 0.],\n", " [ 0., 1., 0.],\n", " [ 0., 0., 1.]])\n" ] } ], "source": [ "pprint(np.dot(inv_a,aa))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 数値解の収束性" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-0.69314718056\n" ] } ], "source": [ "import numpy as np\n", "\n", "def func(x):\n", " return -4*np.exp(-x)+2*np.exp(-2*x)\n", "\n", "def df(x):\n", " return 4*np.exp(-x) - 4*np.exp(-2*x)\n", "\n", "from scipy.optimize import fsolve\n", "x0 = fsolve(func, -1.0)[0]\n", "print(x0)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "