ZHAWNotes/Notes/Semester 4/HM2 - Höhere Mathematik 2/Week 3/Miguel_S3_Aufg1.py

84 lines
1.1 KiB
Python

# %%
from IPython.display import display
from sympy import Matrix, symbols
[a, b] = symbols("x_1, x_2")
x0 = Matrix([1.1, 0.9])
print("x0:")
display(x0)
f = Matrix(
[
[20.0 - (18.0 * a) - 2.0 * (b ** 2.0)],
[(-4.0 * b) * (a - (b ** 2.0))]
])
Df = Matrix(
[
[-18.0, -4.0 * b],
[-4.0 * b, (-4.0 * a) + 12.0 * (b ** 2.0)]
])
Df0 = Df.subs(
{
a: x0[0],
b: x0[1]
})
f0 = f.subs(
{
a: x0[0],
b: x0[1]
})
print("Df(x0):")
display(Df0)
print("f(x0):")
display(f0)
print("||f(x0)||_2")
display(f0.norm(2))
d0 = Df0.solve(-f0)
print("d0")
display(d0)
print("||d0||_2")
display(d0.norm(2))
x1 = x0 + d0
print("x1:")
display(x1)
Df1 = Df.subs(
{
a: x1[0],
b: x1[1]
})
f1 = f.subs(
{
a: x1[0],
b: x1[1]
})
print("Df(x1)")
display(Df1)
print("f(x1)")
display(f1)
print("||f(x1)||_2")
display(f1.norm(2))
d1 = Df1.solve(-f1)
print("d1")
display(d1)
print("||d1||_2")
display(d1.norm(2))
x2 = x1 + d1
print("x2")
display(x2)
# %%