import%20marimo%0A%0A__generated_with%20%3D%20%220.24.0%22%0Aapp%20%3D%20marimo.App()%0A%0Awith%20app.setup%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20%E9%9D%9E%E7%B7%9A%E5%BD%A2%E6%96%B9%E7%A8%8B%E5%BC%8F%E3%81%AE%E6%95%B0%E5%80%A4%E8%A7%A3%E6%B3%95%0A%20%20%20%20legacy%2Fsimulation%2FNonLinear.ipynb%20%E3%82%92%20marimo%20%E5%90%91%E3%81%91%E3%81%AB%E6%95%B4%E7%90%86%E3%81%97%E3%80%81%E4%BA%8C%E5%88%86%E6%B3%95%E3%83%BB%E3%81%AF%E3%81%95%E3%81%BF%E3%81%86%E3%81%A1%E6%B3%95%E3%83%BB%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%88%E3%83%B3%E6%B3%95%E3%83%BB%E5%89%B2%E7%B7%9A%E6%B3%95%E3%82%92%E6%AF%94%E8%BC%83%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E4%BE%8B%E9%A1%8C%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%203%E6%AC%A1%E6%96%B9%E7%A8%8B%E5%BC%8F%0A%20%20%20%20%24%24%0A%20%20%20%20x%5E3%2B6x%5E2%2B21x%2B32%3D0%0A%20%20%20%20%24%24%0A%20%20%20%20%E3%81%AE%E8%A7%A3%E3%81%AF%0A%20%20%20%20%24%24%0A%20%20%20%20x%3D-9%5E%7B1%2F3%7D%2B3%5E%7B1%2F3%7D-2%2C%5C%20-9%5E%7B1%2F3%7De%5E%7Bi2%5Cpi%2F3%7D%2B3%5E%7B1%2F3%7De%5E%7Bi4%5Cpi%2F3%7D-2%2C%5C%20-9%5E%7B1%2F3%7De%5E%7Bi4%5Cpi%2F3%7D%2B3%5E%7B1%2F3%7De%5E%7Bi2%5Cpi%2F3%7D-2%0A%20%20%20%20%24%24%0A%20%20%20%20%E3%81%BE%E3%81%9F%E3%81%AF%0A%20%20%20%20%24%24%0A%20%20%20%20x%5Csim-2.64%2C%5C%20-1.68-3.05i%2C%5C%20-1.68%2B3.05i%0A%20%20%20%20%24%24%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20def%20non_linear_func(x%3A%20float)%20-%3E%20float%3A%0A%20%20%20%20%20%20%20%20return%20x**3%20%2B%206%20*%20x**2%20%2B%2021%20*%20x%20%2B%2032%0A%0A%20%20%20%20def%20derivative_func(x%3A%20float)%20-%3E%20float%3A%0A%20%20%20%20%20%20%20%20return%203%20*%20x**2%20%2B%2012%20*%20x%20%2B%2021%0A%20%20%20%20x_real%20%3D%20-2.637834253%0A%20%20%20%20return%20derivative_func%2C%20non_linear_func%2C%20x_real%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E8%A7%A3%E3%82%92%E5%90%AB%E3%82%80%E5%8C%BA%E5%88%86%E3%82%92%E7%8B%AD%E3%82%81%E3%81%A6%E3%81%84%E3%81%8F%E6%96%B9%E6%B3%95%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20-%20%E5%88%9D%E6%9C%9F%E5%80%A4%E3%81%A8%E3%81%97%E3%81%A6%E8%A7%A3%E3%82%92%E5%90%AB%E3%82%80%E5%8C%BA%E5%88%86%E3%82%92%E4%B8%8E%E3%81%88%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%0A%20%20%20%20-%20%E3%83%A4%E3%82%B3%E3%83%93%E8%A1%8C%E5%88%97%E3%82%92%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%97%E3%81%AA%E3%81%84%0A%20%20%20%20-%20%E7%A2%BA%E5%AE%9F%E3%81%AB%E5%8F%8E%E6%9D%9F%E3%81%99%E3%82%8B%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%202%E5%88%86%E6%B3%95%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%201.%20%E8%A7%A3%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E9%A0%98%E5%9F%9F%20%24%5Ba%2Cb%5D%24%20%E3%82%92%E4%BA%8B%E5%89%8D%E3%81%AB%E6%8C%87%E5%AE%9A%E3%81%99%E3%82%8B%0A%20%20%20%202.%20%E4%B8%AD%E7%82%B9%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%A6%E9%A0%98%E5%9F%9F%E3%82%92%20%24%5Ba%2C(a%2Bb)%2F2%5D%24%20%E3%81%A8%20%24%5B(a%2Bb)%2F2%2Cb%5D%24%20%E3%81%AE2%E3%81%A4%E3%81%AB%E5%88%86%E5%89%B2%E3%81%99%E3%82%8B%0A%20%20%20%203.%20%E8%A7%A3%E3%82%92%E5%90%AB%E3%82%80%E9%A0%98%E5%9F%9F%E3%82%92%E4%B8%AD%E9%96%93%E5%80%A4%E3%81%AE%E5%AE%9A%E7%90%86%E3%81%A7%E5%88%A4%E5%AE%9A%E3%81%99%E3%82%8B%0A%20%20%20%204.%20%E8%A7%A3%E3%82%92%E5%90%AB%E3%82%80%E9%A0%98%E5%9F%9F%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%E6%96%B0%E3%81%9F%E3%81%AB%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E9%A0%98%E5%9F%9F%E3%81%A8%E3%81%97%E3%81%A6%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%99%0A%20%20%20%205.%20%E9%A0%98%E5%9F%9F%E5%B9%85%E3%81%8C%E4%B8%80%E5%AE%9A%E4%BB%A5%E4%B8%8B%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%82%89%E7%B5%82%E4%BA%86%0A%0A%20%20%20%20%E4%B8%AD%E9%96%93%E5%80%A4%E3%81%AE%E5%AE%9A%E7%90%86%E3%81%8B%E3%82%89%E9%A0%98%E5%9F%9F%20%24%5Ba%2Cb%5D%24%20%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%20%24f(a)f(b)%3C0%24%20%E3%81%AA%E3%82%89%E3%80%81%E3%81%93%E3%81%AE%E9%A0%98%E5%9F%9F%20%24%5Ba%2Cb%5D%24%20%E3%81%AB%20%24f(x)%3D0%24%20%E3%81%AE%E8%A7%A3%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E4%BA%8B%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8B%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20from%20typing%20import%20Callable%0A%0A%20%20%20%20def%20bisection(func%3A%20Callable%5B%5Bfloat%5D%2Cfloat%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20left%3A%20float%2C%20right%3A%20float)%20-%3E%20float%3A%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%20%E4%BA%8C%E5%88%86%E6%B3%95%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%20%23%20%E4%BA%8C%E5%88%86%E6%B3%95%E3%81%A7%E8%A7%A3%E3%81%91%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%0A%20%20%20%20%20%20%20%20if%20func(left)%20*%20func(right)%20%3E%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%20Exception('Cannot%20be%20solved%20by%20bisection%20method!')%0A%0A%20%20%20%20%20%20%20%20%23%20%E4%BB%A3%E6%95%B0%E5%BC%8F%E3%81%AE%E6%95%B0%E5%80%A4%E7%B2%BE%E5%BA%A6%0A%20%20%20%20%20%20%20%20delta%3A%20float%20%3D%201e-10%0A%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E3%81%AE%E6%95%B0%E5%80%A4%E7%B2%BE%E5%BA%A6%0A%20%20%20%20%20%20%20%20epsilon%3A%20float%20%3D%205e-6%0A%0A%20%20%20%20%20%20%20%20middle%3A%20float%20%3D%200.%0A%20%20%20%20%20%20%20%20count%3A%20int%20%3D%200%0A%20%20%20%20%20%20%20%20while%20True%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E4%B8%AD%E7%82%B9%E8%A8%88%E7%AE%97%0A%20%20%20%20%20%20%20%20%20%20%20%20middle%20%3D%20(left%20%2B%20right)%2F2.%0A%20%20%20%20%20%20%20%20%20%20%20%20count%20%2B%3D%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E4%B8%AD%E9%96%93%E5%80%A4%E3%81%AE%E5%AE%9A%E7%90%86%E3%81%8B%E3%82%89%E8%A7%A3%E3%82%92%E5%90%AB%E3%82%80%E5%8C%BA%E9%96%93%E3%82%92%E9%81%B8%E6%8A%9E%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20func(left)%20*%20func(middle)%20%3C%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20right%20%3D%20middle%0A%20%20%20%20%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20left%20%3D%20middle%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E7%B5%82%E4%BA%86%E5%88%A4%E5%AE%9A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(abs(func(middle))%20%3C%20delta)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%22finished%3A%20f(x)%3D%7Babs(func(middle))%3A.6e%7D%20(count%3D%7Bcount%7D)%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(abs(left%20-%20right)%20%3C%20epsilon)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%22finished%3A%20%7Cleft%20-%20right%7C%3D%7Babs(left%20-%20right)%3A.6e%7D%20(count%3D%7Bcount%7D)%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%0A%20%20%20%20%20%20%20%20middle%20%3D%20(left%2Bright)%2F2.%0A%20%20%20%20%20%20%20%20return%20middle%0A%0A%20%20%20%20return%20Callable%2C%20bisection%0A%0A%0A%40app.cell%0Adef%20_(bisection%2C%20non_linear_func%2C%20x_real)%3A%0A%20%20%20%20_x%20%3D%20bisection(non_linear_func%2C%20-3.0%2C%200)%0A%20%20%20%20print(f'%CE%94x%20%3D%20%7B_x%20-%20x_real%3A.6e%7D%2C%20f(x)%3D%7Bnon_linear_func(_x)%3A.6e%7D')%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20%E3%81%AF%E3%81%95%E3%81%BF%E3%81%86%E3%81%A1%E6%B3%95%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%E3%81%AF%E3%81%95%E3%81%BF%E3%81%86%E3%81%A1%E6%B3%95%E3%81%A7%E3%81%AF2%E5%88%86%E6%B3%95%E3%81%AE%E3%82%A2%E3%83%AC%E3%83%B3%E3%82%B8%E3%81%A8%E3%81%97%E3%81%A6%E3%80%81%E4%BA%A4%E7%82%B9%E3%82%92%E4%B8%AD%E7%82%B9%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E7%9B%B4%E7%B7%9A%E8%BF%91%E4%BC%BC%E3%81%AE%E8%A7%A3%E3%82%92%E7%94%A8%E3%81%84%E3%82%8B%E3%80%82%0A%20%20%20%20%24%24%0A%20%20%20%20y(x)%5Cequiv%5Cfrac%7Bf(a)-f(b)%7D%7Ba-b%7D(x-a)%2Bf(a)%0A%20%20%20%20%24%24%0A%20%20%20%20%E3%81%A8%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%0A%20%20%20%20%24%24%0A%20%20%20%20y(c)%3D0%20%E2%87%94%20c%3D-f(a)%5Cfrac%7Ba-b%7D%7Bf(a)-f(b)%7D%2Ba%3D%5Cfrac%7Bbf(a)-af(b)%7D%7Bf(a)-f(b)%7D%0A%20%20%20%20%24%24%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Callable)%3A%0A%20%20%20%20def%20squeeze(func%3A%20Callable%5B%5Bfloat%5D%2Cfloat%5D%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20left%3A%20float%2C%20right%3A%20float)%20-%3E%20float%3A%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%20%E3%81%AF%E3%81%95%E3%81%BF%E3%81%86%E3%81%A1%E6%B3%95%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%20%23%20%E4%BA%8C%E5%88%86%E6%B3%95%E3%81%A7%E8%A7%A3%E3%81%91%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%0A%20%20%20%20%20%20%20%20if%20func(left)%20*%20func(right)%20%3E%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20raise%20Exception('Cannot%20be%20solved%20by%20squeeze%20method!')%0A%0A%20%20%20%20%20%20%20%20%23%20%E4%BB%A3%E6%95%B0%E5%BC%8F%E3%81%AE%E6%95%B0%E5%80%A4%E7%B2%BE%E5%BA%A6%0A%20%20%20%20%20%20%20%20delta%3A%20float%20%3D%201e-10%0A%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E3%81%AE%E6%95%B0%E5%80%A4%E7%B2%BE%E5%BA%A6%0A%20%20%20%20%20%20%20%20epsilon%3A%20float%20%3D%205e-6%0A%0A%20%20%20%20%20%20%20%20middle%3A%20float%20%3D%200.%0A%20%20%20%20%20%20%20%20count%3A%20int%20%3D%200%0A%20%20%20%20%20%20%20%20while%20True%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E4%B8%AD%E7%82%B9%E8%A8%88%E7%AE%97%0A%20%20%20%20%20%20%20%20%20%20%20%20f_left%2C%20f_right%20%3D%20func(left)%2C%20func(right)%0A%20%20%20%20%20%20%20%20%20%20%20%20middle%20%3D%20(right*f_left%20-%20left*f_right)%2F(f_left%20-%20f_right)%0A%20%20%20%20%20%20%20%20%20%20%20%20count%20%2B%3D%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E4%B8%AD%E9%96%93%E5%80%A4%E3%81%AE%E5%AE%9A%E7%90%86%E3%81%8B%E3%82%89%E8%A7%A3%E3%82%92%E5%90%AB%E3%82%80%E5%8C%BA%E9%96%93%E3%82%92%E9%81%B8%E6%8A%9E%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20func(left)%20*%20func(middle)%20%3C%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20right%20%3D%20middle%0A%20%20%20%20%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20left%20%3D%20middle%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E7%B5%82%E4%BA%86%E5%88%A4%E5%AE%9A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(abs(func(middle))%20%3C%20delta)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%22finished%3A%20f(x)%3D%7Babs(func(middle))%3A.6e%7D%20(count%3D%7Bcount%7D)%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(abs(left%20-%20right)%20%3C%20epsilon)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%22finished%3A%20%7Cleft%20-%20right%7C%3D%7Babs(left%20-%20right)%3A.6e%7D%20(count%3D%7Bcount%7D)%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%0A%20%20%20%20%20%20%20%20f_left%2C%20f_right%20%3D%20func(left)%2C%20func(right)%0A%20%20%20%20%20%20%20%20middle%20%3D%20(right*f_left%20-%20left*f_right)%2F(f_left%20-%20f_right)%0A%20%20%20%20%20%20%20%20return%20middle%0A%0A%20%20%20%20return%20(squeeze%2C)%0A%0A%0A%40app.cell%0Adef%20_(non_linear_func%2C%20squeeze%2C%20x_real)%3A%0A%20%20%20%20_x%20%3D%20squeeze(non_linear_func%2C%20-3.0%2C%200)%0A%20%20%20%20print(f'%CE%94x%20%3D%20%7B_x%20-%20x_real%3A.6e%7D%2C%20f(x)%3D%7Bnon_linear_func(_x)%3A.6e%7D')%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E3%83%A4%E3%82%B3%E3%83%93%E8%A1%8C%E5%88%97%E3%82%92%E4%BD%BF%E3%81%86%E6%96%B9%E6%B3%95%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%88%E3%83%B3%E3%83%BB%E3%83%A9%E3%83%95%E3%82%BD%E3%83%B3%E6%B3%95%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%E9%9D%9E%E7%B7%9A%E5%BD%A2%E9%96%A2%E6%95%B0%E3%81%AE%24x%3Da%24%E5%91%A8%E3%82%8A%E3%81%AE%E3%83%86%E3%83%BC%E3%83%A9%E3%83%BC%E5%B1%95%E9%96%8B%E3%82%92%E7%94%A8%E3%81%84%E3%81%A6%0A%20%20%20%20%24%24%0A%20%20%20%20f(x)%3Df(a)%2Bf'(a)(x-a)%2B%5Cmathcal%7BO%7D(%5Cepsilon)%3D0%0A%20%20%20%20%E2%87%94x%3Da-%5Cfrac%7Bf(a)%7D%7Bf'(a)%7D%2B%5Cmathcal%7BO%7D(%5Cepsilon)%0A%20%20%20%20%24%24%0A%20%20%20%20%E3%81%A8%E8%A7%A3%E3%82%921%E6%AC%A1%E8%BF%91%E4%BC%BC%E3%81%99%E3%82%8B%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Callable)%3A%0A%20%20%20%20def%20newton1d(func%3A%20Callable%5B%5Bfloat%5D%2C%20float%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20derivative%3A%20Callable%5B%5Bfloat%5D%2C%20float%5D%2C%20seed%3A%20float)%20-%3E%20float%3A%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%201D%20%E3%81%AE%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%88%E3%83%B3%E3%83%BB%E3%83%A9%E3%83%95%E3%82%BD%E3%83%B3%E6%B3%95%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%20%23%20%E4%BB%A3%E6%95%B0%E5%BC%8F%E3%81%AE%E6%95%B0%E5%80%A4%E7%B2%BE%E5%BA%A6%0A%20%20%20%20%20%20%20%20delta%3A%20float%20%3D%201e-10%0A%0A%20%20%20%20%20%20%20%20result%3A%20float%20%3D%20seed%0A%20%20%20%20%20%20%20%20count%3A%20int%20%3D%200%0A%20%20%20%20%20%20%20%20while%20True%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E3%81%AE%E6%9B%B4%E6%96%B0%0A%20%20%20%20%20%20%20%20%20%20%20%20result%20%3D%20result%20-%20func(result)%20%2F%20derivative(result)%0A%20%20%20%20%20%20%20%20%20%20%20%20count%20%2B%3D%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E7%B5%82%E4%BA%86%E5%88%A4%E5%AE%9A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(abs(func(result))%20%3C%20delta)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%22finished%3A%20f(x)%3D%7Babs(func(result))%3A.4e%7D%20(count%3D%7Bcount%7D)%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%0A%20%20%20%20%20%20%20%20return%20result%0A%0A%20%20%20%20return%20(newton1d%2C)%0A%0A%0A%40app.cell%0Adef%20_(derivative_func%2C%20newton1d%2C%20non_linear_func%2C%20x_real)%3A%0A%20%20%20%20_x%20%3D%20newton1d(non_linear_func%2C%20derivative_func%2C%200)%0A%20%20%20%20print(f'%CE%94x%20%3D%20%7B_x%20-%20x_real%3A.6e%7D%2C%20f(x)%3D%7Bnon_linear_func(_x)%3A.6e%7D')%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E3%83%A4%E3%82%B3%E3%83%93%E8%A1%8C%E5%88%97%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%AA%E3%81%84%E6%96%B9%E6%B3%95%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20%E5%89%B2%E7%B7%9A%E6%B3%95%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%E5%89%B2%E7%B7%9A%E6%B3%95%E3%81%AF%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%88%E3%83%B3%E6%B3%95%E3%81%AB%E5%AF%BE%E3%81%97%E3%80%81%E3%81%AF%E3%81%95%E3%81%BF%E3%81%86%E3%81%A1%E6%B3%95%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E7%9B%B4%E7%B7%9A%E8%BF%91%E4%BC%BC%E3%81%AE%E8%A7%A3%E3%82%92%E7%94%A8%E3%81%84%E3%82%8B%E3%80%82%0A%20%20%20%20%E9%80%90%E6%AC%A1%E8%BF%91%E4%BC%BC%E3%81%AE%E7%9B%B4%E5%89%8D2%E3%81%A4%E3%81%AE%E8%A7%A3%24(x_0%2C%20f(x_0))%24%E3%81%A8%24(x_1%2C%20f(x_1))%24%E3%81%AB%E5%AF%BE%E3%81%97%0A%20%20%20%20%24%24%0A%20%20%20%20y(x)%5Cequiv%5Cfrac%7Bf(x_0)-f(x_1)%7D%7Bx_0-x_1%7D(x-x_0)%2Bf(x_0)%0A%20%20%20%20%24%24%0A%20%20%20%20%E3%81%A8%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AE%0A%20%20%20%20%24%24%0A%20%20%20%20y(x_2)%3D0%20%E2%87%94%20x_2%3D-f(x_0)%5Cfrac%7Bx_0-x_1%7D%7Bf(x_0)-f(x_1)%7D%2Bx_0%3D%5Cfrac%7Bx_1f(x_0)-x_0f(x_1)%7D%7Bf(x_0)-f(x_1)%7D%0A%20%20%20%20%24%24%0A%20%20%20%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(Callable)%3A%0A%20%20%20%20def%20secant(func%3A%20Callable%5B%5Bfloat%5D%2Cfloat%5D%2C%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20x_0%3A%20float%2C%20x_1%3A%20float)%20-%3E%20float%3A%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%20%E5%89%B2%E7%B7%9A%E6%B3%95%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%0A%20%20%20%20%20%20%20%20'''%0A%20%20%20%20%20%20%20%20%23%20%E4%BB%A3%E6%95%B0%E5%BC%8F%E3%81%AE%E6%95%B0%E5%80%A4%E7%B2%BE%E5%BA%A6%0A%20%20%20%20%20%20%20%20delta%3A%20float%20%3D%201e-10%0A%0A%20%20%20%20%20%20%20%20result%3A%20float%20%3D%200%0A%20%20%20%20%20%20%20%20count%3A%20int%20%3D%200%0A%20%20%20%20%20%20%20%20while%20True%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E8%A7%A3%E3%81%AE%E6%9B%B4%E6%96%B0%0A%20%20%20%20%20%20%20%20%20%20%20%20result%20%3D%20(x_1*func(x_0)-x_0*func(x_1))%2F(func(x_0)-func(x_1))%0A%20%20%20%20%20%20%20%20%20%20%20%20count%20%2B%3D%201%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20%E7%B5%82%E4%BA%86%E5%88%A4%E5%AE%9A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(abs(func(result))%20%3C%20delta)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20print(f%22finished%3A%20f(x)%3D%7Babs(func(result))%3A.4e%7D%20(count%3D%7Bcount%7D)%22)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%20%20%20%20%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20x_0%20%3D%20x_1%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20x_1%20%3D%20result%0A%0A%20%20%20%20%20%20%20%20return%20result%0A%0A%20%20%20%20return%20(secant%2C)%0A%0A%0A%40app.cell%0Adef%20_(non_linear_func%2C%20secant%2C%20x_real)%3A%0A%20%20%20%20_x%20%3D%20secant(non_linear_func%2C%20-3.0%2C%200)%0A%20%20%20%20print(f'%CE%94x%20%3D%20%7B_x%20-%20x_real%3A.6e%7D%2C%20f(x)%3D%7Bnon_linear_func(_x)%3A.6e%7D')%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%23%20%E3%83%9E%E3%83%A9%E3%83%BC%E6%B3%95%0A%0A%20%20%20%20%E7%94%9F%E6%88%90%E5%85%83%E3%83%8E%E3%83%BC%E3%83%88%E3%83%96%E3%83%83%E3%82%AF%E3%81%AF%E3%81%93%E3%81%93%E3%81%A7%E7%B5%82%E4%BA%86%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%81%9F%E3%82%81%E3%80%81%E3%81%93%E3%81%AE%20marimo%20%E7%89%88%E3%81%A7%E3%82%82%0A%20%20%20%20%E4%B8%8A%E8%A8%98%204%20%E6%89%8B%E6%B3%95%E3%81%BE%E3%81%A7%E3%82%92%E5%86%8D%E7%8F%BE%E5%AF%BE%E8%B1%A1%E3%81%A8%E3%81%99%E3%82%8B%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
5b87dfa66ba8f3338ae161865be42476