ニュートン近似とsympyの使用2

p87『これなら分かる最適化数学』例題

#-*- coding:utf-8 -*-
#ニュートンの二次近似
from sympy import *
import numpy as np

if __name__=="__main__":
#x**3-2*x**2+x+3
	x=Symbol('x')
	print "関数を入力してください。"
	f=input()
	print "初期値を入力してください。"
	c=input()

	f_1=diff(f,x) #関数fを一回微分した。
	f_2=diff(f_1,x) #関数fを二回微分した。

	f_22=limit(f,x,c)+limit(f_1,x,c)*(x-c)+0.5*limit(f_2,x,c)*(x-c)**2
	print f_22

実行結果

関数を入力してください。
x**3-2*x**2+x+3
初期値を入力してください。
2
-5 + 5*x + 4.0*(2 - x)**2

続く