I have tried executing your code in PyCharm Community Edition but i get no output in the console. Nothing is printed to the console window.
On Sunday, 29 June 2025 at 15:28:42 UTC+1 peter.st...@gmail.com wrote: > m = 30 0..2 sec > m = 40 1.0 sec > m = 50 1.2 sec > m = 60 1.6 sec > m = 70 2.0 sec > > This is on my PC, which is a good, average PC > > > stephen.j...@gmail.com schrieb am Sonntag, 29. Juni 2025 um 16:08:15 > UTC+2: > > Thanks. > > Can you give me a figure for execution time, when m = 30 say? > > > > Sent from my iPhone. > > On 29 Jun 2025, at 13:59, Peter Stahlecker <peter.st...@gmail.com> wrote: > > ``` > > # %% > import numpy as np > import sympy as sm > from scipy.optimize import root > > m = 3 > > w, b = sm.symbols('w, b') > x = [sm.symbols(f'x_{i}') for i in range(m)] > y = [sm.symbols(f'y_{i}') for i in range(m)] > > > def f(w, b, x, y): > """Stephen's function""" > m = len(x) > if m != len(y): > raise ValueError("x and y must have the same length") > > summe = sum([sm.sqrt((w**2 * x[i] - w * (y[i] - b))**2) / > sm.cos(sm.atan((2 * w**2 * b - w * x[i] + y[i] + b) / > (w**2 * x[i] - w * (y[i] - b)))) > for i in range(m)]) > return summe / m > > dfdw = f(w, b, x, y).diff(w) > dfdb = f(w, b, x, y).diff(b) > > gleichung = sm.Matrix([[dfdw, dfdb]]) > gleichung_lam = sm.lambdify((w, b, *x, *y), gleichung, cse=True) > > # %% > # Set values > x = [1.25, 2.0, 2.4] > y = [1.75, 1.65, 2.85] > if len(x) != m or len(y) != m: > raise ValueError(f"x and y must have length {m}") > > > def func(xx, args): > w, b = xx[0], xx[1] > return gleichung_lam(w, b, *args).squeeze() > > # Initial guess > x0 = [1.043, -0.29] > args = [*x, *y] > # Iterate. This sometimes improves the result > for _ in range(3): > loesung = root(func, x0, args=args) > x0 = loesung.x > print("message from root:", loesung.message) > print('error:', loesung.fun ) > print(f"w: {loesung.x[0]}, b: {loesung.x[1]}") > ```` > > This seems to work. > I tried it for up to m = 75 > NOTE: I replaced abs(a) with sqrt(a**2) as this 'behaves' better > numerically. > > stephen.j...@gmail.com schrieb am Sonntag, 29. Juni 2025 um 14:21:11 > UTC+2: > > Let me post a reviewed version of the equations to solve: > > [image: Screenshot 2025-06-29 at 13.19.38.png] > > On Sunday, 29 June 2025 at 12:25:54 UTC+1 peter.st...@gmail.com wrote: > > Clear. > > But you only give *one* equation: df(w,b; x, y) /dwdb = 0 > > *Two* equations are needed to try and solve for w, b. > > > > *From:* sy...@googlegroups.com <sy...@googlegroups.com> *On Behalf Of > *Stephen > Learmonth > *Sent:* Sunday, June 29, 2025 1:20 PM > *To:* sympy <sy...@googlegroups.com> > *Subject:* Re: [sympy] How can I solve this complex math equation using > SymPy? > > > > x(i) can be 1.25, 2.0, 2.4 and y(i) can be 1.75, 1.65, 2.85 for i = 1 to 3. > > initial guess for w is +1.043 and b = -0.29. > > > > On Sunday, 29 June 2025 at 11:33:14 UTC+1 peter.st...@gmail.com wrote: > > > > What woud be the range of x(i), y(i)? > > What could be good initial guesses for w, b? > > (Needed to solve numerically.) > > > > > > On Sun 29. Jun 2025 at 12:11, <stephen.j...@gmail.com> wrote: > > If you can solve for $m = 3$ to start with that would be great. > > > > > > Sent from my iPhone. > > > > On 29 Jun 2025, at 11:02, stephen.j...@gmail.com wrote: > > Yes, it is non-linear > > > > Closed-form or numerical. > > > > Thanks. > > > > Sent from my iPhone. > > > > On 29 Jun 2025, at 10:47, Peter Stahlecker <peter.st...@gmail.com> wrote: > > > > At first glance this looks nonlinear in w and in b. > > Do you think there exists a closed form solution, or are you looking for a > numerical solution given the x(i), y(i)? > > > > > > On Sun 29. Jun 2025 at 11:33, Stephen Learmonth <stephen.j...@gmail.com> > wrote: > > > > <Screenshot 2025-06-29 at 10.31.04.png> > > > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+un...@googlegroups.com. > To view this discussion visit > https://groups.google.com/d/msgid/sympy/7229acb9-c0c1-4ed4-89a4-ee1136ad673bn%40googlegroups.com > > <https://groups.google.com/d/msgid/sympy/7229acb9-c0c1-4ed4-89a4-ee1136ad673bn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+un...@googlegroups.com. > To view this discussion visit > https://groups.google.com/d/msgid/sympy/CABKqA0YHe5GCWx8C6EiYA%3DuA1dCq1ij7dvrV%2Bfi22Pbe8L-W0A%40mail.gmail.com > > <https://groups.google.com/d/msgid/sympy/CABKqA0YHe5GCWx8C6EiYA%3DuA1dCq1ij7dvrV%2Bfi22Pbe8L-W0A%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+un...@googlegroups.com. > > To view this discussion visit > https://groups.google.com/d/msgid/sympy/40199A34-88AE-45E4-8CFD-F71AD2E216D7%40gmail.com > > <https://groups.google.com/d/msgid/sympy/40199A34-88AE-45E4-8CFD-F71AD2E216D7%40gmail.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+un...@googlegroups.com. > > To view this discussion visit > https://groups.google.com/d/msgid/sympy/dcb4fb0e-c4c2-4d27-81dd-19b35c89a7c9n%40googlegroups.com > > <https://groups.google.com/d/msgid/sympy/dcb4fb0e-c4c2-4d27-81dd-19b35c89a7c9n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+un...@googlegroups.com. > > To view this discussion visit > https://groups.google.com/d/msgid/sympy/ee36cabb-1a69-4984-bc51-3539cdcb030fn%40googlegroups.com > > <https://groups.google.com/d/msgid/sympy/ee36cabb-1a69-4984-bc51-3539cdcb030fn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/sympy/2c5e8515-3970-42e2-98aa-0dec0a9ede31n%40googlegroups.com.