Most welcome! Like I said, passing args = (L, K , VA) to your function F may take a little 'playing around'.
On Sat 20. Aug 2022 at 17:00, Zohreh Karimzadeh <z.karimza...@gmail.com> wrote: > Thank millions I will give it a try. > > > Zohreh Karimzadeh > > Contact me on > +989102116325 > and at > z.karimza...@gmail.com > 🌧️🌍🌱 > > > On Sat, 20 Aug 2022, 11:32 Peter Stahlecker, <peter.stahlec...@gmail.com> > wrote: > >> args is a standard key word with minimize, just look it up to see how it >> works. >> Say, you have F(a, d, c, m ,e, f) as a function. >> If you give the ‚starting guess‘ as x0 = (1, ,2, 3), it will minimize the >> function by varying the first three variables in the parameter list of F, >> that is a, d, c. >> Balance parameters you have to give with the args keyword. >> If you read the minimizer operations instructions, it will tell you how >> minimizer hands over the values in args to your function F. And your F must >> ‚understand this‘. >> >> On Sat 20. Aug 2022 at 13:24 Zohreh Karimzadeh <z.karimza...@gmail.com> >> wrote: >> >>> You mean I should make independent variables acceptable as args to >>> minimizer,? >>> >>> >>> Zohreh Karimzadeh >>> >>> Contact me on >>> +989102116325 >>> and at >>> z.karimza...@gmail.com >>> 🌧️🌍🌱 >>> >>> >>> On Sat, 20 Aug 2022, 09:35 Peter Stahlecker, <peter.stahlec...@gmail.com> >>> wrote: >>> >>>> But would then this not be a simpler way, without any lambdify ? >>>> >>>> def func_to_be_minimized(alpha, beta, gamma, eta, L, K, VA): >>>> …… >>>> …… >>>> return np.sum(…….) >>>> >>>> X0 = (…..) >>>> args = (L. K, VA) >>>> resultat = minimize(func_to_be_minimized, X0, args = args, bounds =…) >>>> >>>> args contains the variables of your function, which will not be >>>> minimized. >>>> >>>> You may have to play around with args = (L. K, VA) a bit, because >>>> minimize ‚hands over‘ whatever is in args to your function in a certain >>>> way, and your function must accept them this way. (I never know exactly how >>>> to do it, as I do not use it often at all, so I just play around until it >>>> works) >>>> >>>> >>>> >>>> On Sat 20. Aug 2022 at 11:48 Zohreh Karimzadeh <z.karimza...@gmail.com> >>>> wrote: >>>> >>>>> Exactly >>>>> >>>>> Zohreh Karimzadeh >>>>> >>>>> Contact me on >>>>> +989102116325 >>>>> and at >>>>> z.karimza...@gmail.com >>>>> 🌧️🌍🌱 >>>>> >>>>> >>>>> On Sat, 20 Aug 2022, 06:15 Peter Stahlecker, < >>>>> peter.stahlec...@gmail.com> wrote: >>>>> >>>>>> Maybe a dumb question from my part: >>>>>> >>>>>> do I understand you correctly: >>>>>> >>>>>> For *given* L, K, VA you try to find the alpha, beta, gamma, eta >>>>>> which minimize >>>>>> the function np.sum(….) ? >>>>>> >>>>>> Is my understanding correct? >>>>>> >>>>>> On Fri 19. Aug 2022 at 22:11 Zohreh Karimzadeh < >>>>>> z.karimza...@gmail.com> wrote: >>>>>> >>>>>>> I am new at python and using your comment seems hard to me could >>>>>>> possibly let me know know it by example or any key words if is there. >>>>>>> >>>>>>> Zohreh Karimzadeh >>>>>>> >>>>>>> Contact me on >>>>>>> +989102116325 >>>>>>> and at >>>>>>> z.karimza...@gmail.com >>>>>>> 🌧️🌍🌱 >>>>>>> >>>>>>> >>>>>>> On Fri, 19 Aug 2022, 00:03 Aaron Meurer, <asmeu...@gmail.com> wrote: >>>>>>> >>>>>>>> Instead of generating a separate lambdified function for every >>>>>>>> input, you may find it simpler to lambdify a single function with your >>>>>>>> params as extra symbolic parameters, then pass those in using the >>>>>>>> args() >>>>>>>> argument to minimize(). >>>>>>>> >>>>>>>> Aaron Meurer >>>>>>>> >>>>>>>> On Thu, Aug 18, 2022 at 4:35 AM Zohreh Karimzadeh < >>>>>>>> z.karimza...@gmail.com> wrote: >>>>>>>> >>>>>>>>> the following code is ok when expression is passed as : >>>>>>>>> >>>>>>>>> import numpy as np >>>>>>>>> from scipy.optimize import minimize, curve_fit >>>>>>>>> from lmfit import Model, Parameters >>>>>>>>> >>>>>>>>> L = np.array([0.299, 0.295, 0.290, 0.284, 0.279, 0.273, 0.268, 0.262, >>>>>>>>> 0.256, 0.250]) >>>>>>>>> K = np.array([2.954, 3.056, 3.119, 3.163, 3.215, 3.274, 3.351, 3.410, >>>>>>>>> 3.446, 3.416]) >>>>>>>>> VA = np.array([0.919, 0.727, 0.928, 0.629, 0.656, 0.854, 0.955, >>>>>>>>> 0.981, 0.908, 0.794]) >>>>>>>>> >>>>>>>>> >>>>>>>>> def f(param): >>>>>>>>> gamma = param[0] >>>>>>>>> alpha = param[1] >>>>>>>>> beta = param[2] >>>>>>>>> eta = param[3] >>>>>>>>> VA_est = gamma - (1 / eta) * np.log(alpha * L ** -eta + beta * K >>>>>>>>> ** -eta) >>>>>>>>> >>>>>>>>> return np.sum((np.log(VA) - VA_est) ** 2) >>>>>>>>> >>>>>>>>> >>>>>>>>> bnds = [(1, np.inf), (0, 1), (0, 1), (-1, np.inf)] >>>>>>>>> x0 = (1, 0.01, 0.98, 1) >>>>>>>>> result = minimize(f, x0, bounds=bnds) >>>>>>>>> print(result.message) >>>>>>>>> print(result.x[0], result.x[1], result.x[2], result.x[3]) >>>>>>>>> >>>>>>>>> but when the expression is passed as the following way: >>>>>>>>> >>>>>>>>> import numpy as np >>>>>>>>> import sympy as sp >>>>>>>>> from scipy.optimize import minimize, curve_fit >>>>>>>>> from lmfit import Model, Parameters >>>>>>>>> >>>>>>>>> L = np.array([0.299, 0.295, 0.290, 0.284, 0.279, 0.273, 0.268, 0.262, >>>>>>>>> 0.256, 0.250]) >>>>>>>>> K = np.array([2.954, 3.056, 3.119, 3.163, 3.215, 3.274, 3.351, 3.410, >>>>>>>>> 3.446, 3.416]) >>>>>>>>> VA = np.array([0.919, 0.727, 0.928, 0.629, 0.656, 0.854, 0.955, >>>>>>>>> 0.981, 0.908, 0.794]) >>>>>>>>> >>>>>>>>> >>>>>>>>> def f(param): >>>>>>>>> gamma, alpha, beta, eta = sp.symbols('gamma, alpha, beta, eta') >>>>>>>>> gamma = param[0] >>>>>>>>> alpha = param[1] >>>>>>>>> beta = param[2] >>>>>>>>> eta = param[3] >>>>>>>>> Vi_est = gamma - (1 / eta) * sp.log(alpha * L ** -eta + beta * K >>>>>>>>> ** -eta) >>>>>>>>> Vlam_est = sp.lambdify((gamma, alpha, beta, eta), Vi_est) >>>>>>>>> >>>>>>>>> return np.sum((np.log(VA) - Vlam_est) ** 2) >>>>>>>>> >>>>>>>>> >>>>>>>>> bnds = [(1, np.inf), (0, 1), (0, 1), (-1, np.inf)] >>>>>>>>> x0 = (1, 0.01, 0.98, 1) >>>>>>>>> >>>>>>>>> result = minimize(f, x0, bounds=bnds) >>>>>>>>> >>>>>>>>> print(result.message) >>>>>>>>> print(result.x[0], result.x[1], result.x[2], result.x[3]) >>>>>>>>> >>>>>>>>> >>>>>>>>> I face difficulty: >>>>>>>>> ********************************************* >>>>>>>>> Traceback (most recent call last): >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\sympy\core\cache.py", >>>>>>>>> line 70, in wrapper >>>>>>>>> retval = cfunc(*args, **kwargs) >>>>>>>>> TypeError: unhashable type: 'numpy.ndarray' >>>>>>>>> >>>>>>>>> During handling of the above exception, another exception occurred: >>>>>>>>> >>>>>>>>> Traceback (most recent call last): >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\sympy\core\cache.py", >>>>>>>>> line 70, in wrapper >>>>>>>>> retval = cfunc(*args, **kwargs) >>>>>>>>> TypeError: unhashable type: 'numpy.ndarray' >>>>>>>>> >>>>>>>>> During handling of the above exception, another exception occurred: >>>>>>>>> >>>>>>>>> Traceback (most recent call last): >>>>>>>>> File >>>>>>>>> "F:\Zohreh\MainZohreh\postdoc-field\CSU\pythonProject\fit_test_2.py", >>>>>>>>> line >>>>>>>>> 26, in <module> >>>>>>>>> result = minimize(f, x0, bounds=bnds) >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\scipy\optimize\_minimize.py", >>>>>>>>> line 692, in minimize >>>>>>>>> res = _minimize_lbfgsb(fun, x0, args, jac, bounds, >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\scipy\optimize\_lbfgsb_py.py", >>>>>>>>> line 308, in _minimize_lbfgsb >>>>>>>>> sf = _prepare_scalar_function(fun, x0, jac=jac, args=args, >>>>>>>>> epsilon=eps, >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\scipy\optimize\_optimize.py", >>>>>>>>> line 263, in _prepare_scalar_function >>>>>>>>> sf = ScalarFunction(fun, x0, args, grad, hess, >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\scipy\optimize\_differentiable_functions.py", >>>>>>>>> line 158, in __init__ >>>>>>>>> self._update_fun() >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\scipy\optimize\_differentiable_functions.py", >>>>>>>>> line 251, in _update_fun >>>>>>>>> self._update_fun_impl() >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\scipy\optimize\_differentiable_functions.py", >>>>>>>>> line 155, in update_fun >>>>>>>>> self.f = fun_wrapped(self.x) >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\scipy\optimize\_differentiable_functions.py", >>>>>>>>> line 137, in fun_wrapped >>>>>>>>> fx = fun(np.copy(x), *args) >>>>>>>>> File >>>>>>>>> "F:\Zohreh\MainZohreh\postdoc-field\CSU\pythonProject\fit_test_2.py", >>>>>>>>> line >>>>>>>>> 17, in f >>>>>>>>> Vi_est = gamma - (1 / eta) * sp.log(alpha * L ** -eta + beta * >>>>>>>>> K ** -eta) >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\sympy\core\cache.py", >>>>>>>>> line 74, in wrapper >>>>>>>>> retval = func(*args, **kwargs) >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\sympy\core\function.py", >>>>>>>>> line 476, in __new__ >>>>>>>>> result = super().__new__(cls, *args, **options) >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\sympy\core\cache.py", >>>>>>>>> line 74, in wrapper >>>>>>>>> retval = func(*args, **kwargs) >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\sympy\core\function.py", >>>>>>>>> line 288, in __new__ >>>>>>>>> evaluated = cls.eval(*args) >>>>>>>>> File >>>>>>>>> "C:\Users\Zohreh\AppData\Roaming\Python\Python310\site-packages\sympy\functions\elementary\exponential.py", >>>>>>>>> line 718, in eval >>>>>>>>> coeff = arg.as_coefficient(I) >>>>>>>>> AttributeError: 'ImmutableDenseNDimArray' object has no attribute >>>>>>>>> 'as_coefficient' >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Zohreh Karimzadeh >>>>>>>>> https://www.researchgate.net/profile/Zohreh-Karimzadeh >>>>>>>>> Skype Name 49a52224a8b6b38b >>>>>>>>> Twitter Account @zohrehkarimzad1 >>>>>>>>> z.karimza...@gmail.com >>>>>>>>> +989102116325 >>>>>>>>> >>>>>>>>> ((((((((((((((((Value Water))))))))))))))) >>>>>>>>> >>>>>>>>> Zohreh Karimzadeh >>>>>>>>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh* >>>>>>>>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh> >>>>>>>>> Skype Name 49a52224a8b6b38b >>>>>>>>> Twitter Account @zohrehkarimzad1 >>>>>>>>> z.karimza...@gmail.com >>>>>>>>> +989102116325 >>>>>>>>> >>>>>>>>> ((((((((((((((((Value Water))))))))))))))) >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Aug 18, 2022 at 10:42 AM Peter Stahlecker < >>>>>>>>> peter.stahlec...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> I use lambdify quite a bit, on rather large expressions. >>>>>>>>>> Basically, it always works like this for me: >>>>>>>>>> >>>>>>>>>> import sympy as sm >>>>>>>>>> x1, x2, …, xn = sm.symbols(‚x1, x2, ….., xn‘) >>>>>>>>>> …. >>>>>>>>>> … >>>>>>>>>> expr = some expression of generally with me: sm.sin, sm.cos, >>>>>>>>>> sm.exp, sm.sqrt, >>>>>>>>>> sm.Heaviside, etc.. >>>>>>>>>> This expression may have 50,000 terms, may be an (axb) matrix, >>>>>>>>>> whatever. >>>>>>>>>> >>>>>>>>>> expr_lam = sm.lambdify([x1, x2, …,xn], expr) >>>>>>>>>> >>>>>>>>>> Now I can evaluate expr_lam(…) like I would evaluate any numpy >>>>>>>>>> function. >>>>>>>>>> >>>>>>>>>> I have no idea, what expr_lam looks like, I would not know how to >>>>>>>>>> look at it. >>>>>>>>>> I assume, it converts sm.sin(..) to np.sin(…), etc >>>>>>>>>> >>>>>>>>>> This is how it works for me. >>>>>>>>>> As I do not really understand your points, like ‚dynamically >>>>>>>>>> created‘, ‚parse and subs‘, this may be of not help at all for you. >>>>>>>>>> >>>>>>>>>> Peter >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu 18. Aug 2022 at 09:21 Zohreh Karimzadeh < >>>>>>>>>> z.karimza...@gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Before run I import sp.sqrt or sp.exp but after run they get >>>>>>>>>>> disappeared. My expression is big and dynamically created and not >>>>>>>>>>> possible to parse and subs np.exp or sp.exp. >>>>>>>>>>> >>>>>>>>>>> Zohreh Karimzadeh >>>>>>>>>>> >>>>>>>>>>> Contact me on >>>>>>>>>>> +989102116325 >>>>>>>>>>> and at >>>>>>>>>>> z.karimza...@gmail.com >>>>>>>>>>> 🌧️🌍🌱 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, 18 Aug 2022, 01:17 Aaron Meurer, <asmeu...@gmail.com> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> Your expression uses "sqrt" but you haven't imported it from >>>>>>>>>>>> anywhere, since you only did "import sympy as sp". You need to use >>>>>>>>>>>> sp.sqrt. >>>>>>>>>>>> >>>>>>>>>>>> Aaron Meurer >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Aug 17, 2022 at 11:02 AM Zohreh Karimzadeh < >>>>>>>>>>>> z.karimza...@gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Here is my code: >>>>>>>>>>>>> >>>>>>>>>>>>> import matplotlib.pyplot as plt >>>>>>>>>>>>> import numpy as np >>>>>>>>>>>>> import sympy as sp >>>>>>>>>>>>> import pandas as pd >>>>>>>>>>>>> #exp_NaCl path: >>>>>>>>>>>>> F:\Zohreh\MainZohreh\postdoc-field\CSU\Duplicat_Pure >>>>>>>>>>>>> df = >>>>>>>>>>>>> pd.read_excel(r'F:\Zohreh\MainZohreh\postdoc-field\CSU\Duplicat_Pure\data.xlsx', >>>>>>>>>>>>> sheet_name='NaCl_exp') >>>>>>>>>>>>> XNa = df['XNa'] >>>>>>>>>>>>> XCl = df['XCl'] >>>>>>>>>>>>> Xwater = df['Xwater'] >>>>>>>>>>>>> Y = df['gama_x'] >>>>>>>>>>>>> L=['WwaterNaCl', 'UwaterNaCl', 'VwaterNaCl', 'XCl', 'XNa', >>>>>>>>>>>>> 'Xwater', 'BNaCl'] >>>>>>>>>>>>> for j in range(len(L)): >>>>>>>>>>>>> locals()[L[j]] = sp.symbols(L[j]) >>>>>>>>>>>>> expr = >>>>>>>>>>>>> -0.0118343195266272*BNaCl*XCl*XNa*(-2*(9.19238815542512*sqrt(XNa) >>>>>>>>>>>>> + 9.19238815542512*sqrt(XCl + XNa) + >>>>>>>>>>>>> 1)*exp(-9.19238815542512*sqrt(XNa) - 9.19238815542512*sqrt(XCl + >>>>>>>>>>>>> XNa)) + 2)/((XCl + XNa)*(sqrt(XNa) + sqrt(XCl + XNa))**2) + >>>>>>>>>>>>> 0.00591715976331361*BNaCl*XCl*(-2*(9.19238815542512*sqrt(XNa) + >>>>>>>>>>>>> 9.19238815542512*sqrt(XCl + XNa) + >>>>>>>>>>>>> 1)*exp(-9.19238815542512*sqrt(XNa) - 9.19238815542512*sqrt(XCl + >>>>>>>>>>>>> XNa)) + 2)/(sqrt(XNa) + sqrt(XCl + XNa))**2 + >>>>>>>>>>>>> 0.00591715976331361*BNaCl*XNa*(-2*(9.19238815542512*sqrt(XNa) + >>>>>>>>>>>>> 9.19238815542512*sqrt(XCl + XNa) + >>>>>>>>>>>>> 1)*exp(-9.19238815542512*sqrt(XNa) - 9.19238815542512*sqrt(XCl + >>>>>>>>>>>>> XNa)) + 2)/(sqrt(XNa) + sqrt(XCl + XNa))**2 - >>>>>>>>>>>>> 1.0*Cl*WwaterNaCl*Xwater*(0.5*XCl + 0.5*XNa + 0.5)/XCl - >>>>>>>>>>>>> 0.5*Cl*WwaterNaCl/XCl - 4.0*UwaterNaCl*XCl*XNa*Xwater + >>>>>>>>>>>>> 2.0*UwaterNaCl*XCl*Xwater + 2.0*UwaterNaCl*XNa*Xwater - >>>>>>>>>>>>> 4.0*UwaterNaCl*XNa - 6.0*VwaterNaCl*XCl*XNa*Xwater**2 - >>>>>>>>>>>>> 4.0*VwaterNaCl*XCl*Xwater**2 + 2.0*VwaterNaCl*XNa*Xwater**2 - >>>>>>>>>>>>> 1.0*WwaterNaCl*Xwater*(0.5*XCl + 0.5*XNa + 0.5) + >>>>>>>>>>>>> 2.0*WwaterNaCl*Xwater - 0.5*WwaterNaCl - >>>>>>>>>>>>> 1.45739430799067*(0.707106781186548*sqrt(XNa) + >>>>>>>>>>>>> 0.707106781186548*sqrt(XCl + XNa))*(-XCl - XNa + >>>>>>>>>>>>> 1)/(9.19238815542512*sqrt(XNa) + 9.19238815542512*sqrt(XCl + XNa) >>>>>>>>>>>>> + 1) - 1.45739430799067*(0.707106781186548*sqrt(XNa) + >>>>>>>>>>>>> 0.707106781186548*sqrt(XCl + XNa))*(-1.4142135623731*sqrt(XNa) - >>>>>>>>>>>>> 1.4142135623731*sqrt(XCl + XNa) + 1)/(9.19238815542512*sqrt(XNa) >>>>>>>>>>>>> + 9.19238815542512*sqrt(XCl + XNa) + 1) - >>>>>>>>>>>>> 0.448429017843282*log(9.19238815542512*sqrt(XNa) + >>>>>>>>>>>>> 9.19238815542512*sqrt(XCl + XNa) + 1) >>>>>>>>>>>>> model_func = sp.lambdify(L, expr ) >>>>>>>>>>>>> >>>>>>>>>>>>> def f(param): >>>>>>>>>>>>> BNaCl = param[0] >>>>>>>>>>>>> UwaterNaCl = param[1] >>>>>>>>>>>>> VwaterNaCl = param[2] >>>>>>>>>>>>> WwaterNaCl = param[3] >>>>>>>>>>>>> Y_est = model_func >>>>>>>>>>>>> return np.sum((np.log(Y) - Y_est)**2) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> bnds = [(1, np.inf), (0, 1), (0, 1), (-1, np.inf)] >>>>>>>>>>>>> x0 = (1, 0.01, 0.98, 1) >>>>>>>>>>>>> con = {"type": "eq", "fun": c} >>>>>>>>>>>>> >>>>>>>>>>>>> result = minimize(f, x0, bounds=bnds) >>>>>>>>>>>>> >>>>>>>>>>>>> print(result.fun) >>>>>>>>>>>>> print(result.message) >>>>>>>>>>>>> print(result.x[0], result.x[1], result.x[2], result.x[3]) >>>>>>>>>>>>> >>>>>>>>>>>>> while I got : >>>>>>>>>>>>> NameError: name 'sqrt' is not defined >>>>>>>>>>>>> >>>>>>>>>>>>> Zohreh Karimzadeh >>>>>>>>>>>>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh* >>>>>>>>>>>>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh> >>>>>>>>>>>>> Skype Name 49a52224a8b6b38b >>>>>>>>>>>>> Twitter Account @zohrehkarimzad1 >>>>>>>>>>>>> z.karimza...@gmail.com >>>>>>>>>>>>> +989102116325 >>>>>>>>>>>>> >>>>>>>>>>>>> ((((((((((((((((Value Water))))))))))))))) >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Wed, Aug 17, 2022 at 7:46 PM Peter Stahlecker < >>>>>>>>>>>>> peter.stahlec...@gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> I use lambdify(....) a lot, but always like this: >>>>>>>>>>>>>> >>>>>>>>>>>>>> x = sympy.symbols('x') >>>>>>>>>>>>>> expr = symy.S(10.) * sympy.sqrt(x) >>>>>>>>>>>>>> expr_lam = sympy.lambdify([x], expr) >>>>>>>>>>>>>> >>>>>>>>>>>>>> a = expr_lam(10.) >>>>>>>>>>>>>> >>>>>>>>>>>>>> This seems to work for me. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed 17. Aug 2022 at 20:38, Zohreh Karimzadeh < >>>>>>>>>>>>>> z.karimza...@gmail.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Dear sympy group >>>>>>>>>>>>>>> Thanks for your sympy. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I am working on a code, after creating my big expression >>>>>>>>>>>>>>> using sympy it includes sqrt. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I need to lambdify my expression to make it consistent with >>>>>>>>>>>>>>> numpy and other suffs. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> expr =10 * sp.sqrt(sp.symbols('x')) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> model_func = sp.lambdify('x', expr) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> But I found my expression after lambdifying becomes >>>>>>>>>>>>>>> somethings like this: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 10*sqrt(x) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> while I need : >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 10*numpy.sqrt(x) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Could possibly let me know how get sqrt to work with numpy? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Regards, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Zohreh >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> 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 on the web visit >>>>>>>>>>>>>>> https://groups.google.com/d/msgid/sympy/1f0b313f-31c5-402e-991e-142a556016f4n%40googlegroups.com >>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/sympy/1f0b313f-31c5-402e-991e-142a556016f4n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>>>>> . >>>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Best regards, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Peter Stahlecker >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> 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 on the web visit >>>>>>>>>>>>>> https://groups.google.com/d/msgid/sympy/CABKqA0ZoGwsadsk4SWCbJVMbCDwXcO_gNGumJH00GAeEFod7Cw%40mail.gmail.com >>>>>>>>>>>>>> <https://groups.google.com/d/msgid/sympy/CABKqA0ZoGwsadsk4SWCbJVMbCDwXcO_gNGumJH00GAeEFod7Cw%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+unsubscr...@googlegroups.com. >>>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLPRvXZ6jiJbUS_xpWNKqMuUH7Kt5evue%2BwKEwDMvGekBQ%40mail.gmail.com >>>>>>>>>>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLPRvXZ6jiJbUS_xpWNKqMuUH7Kt5evue%2BwKEwDMvGekBQ%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+unsubscr...@googlegroups.com. >>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>> https://groups.google.com/d/msgid/sympy/CAKgW%3D6JfUmU7Uu%2BSrcA1STxVvWWm7bGWE%3Dit8CTchksTC0Qk7g%40mail.gmail.com >>>>>>>>>>>> <https://groups.google.com/d/msgid/sympy/CAKgW%3D6JfUmU7Uu%2BSrcA1STxVvWWm7bGWE%3Dit8CTchksTC0Qk7g%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+unsubscr...@googlegroups.com. >>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLPiCR%3DS2Fac3FZtjMpspqB7BRKtYEi45BVWPjkizVbNvw%40mail.gmail.com >>>>>>>>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLPiCR%3DS2Fac3FZtjMpspqB7BRKtYEi45BVWPjkizVbNvw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best regards, >>>>>>>>>> >>>>>>>>>> Peter Stahlecker >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> 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 on the web visit >>>>>>>>>> https://groups.google.com/d/msgid/sympy/CABKqA0b%3DF0akMH4oyg5%2By9dGvgrf_vvVJTnVhVduMP1f%2Bp1pFw%40mail.gmail.com >>>>>>>>>> <https://groups.google.com/d/msgid/sympy/CABKqA0b%3DF0akMH4oyg5%2By9dGvgrf_vvVJTnVhVduMP1f%2Bp1pFw%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+unsubscr...@googlegroups.com. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLMK-fgpxc71GYzue5gJvd%3Dfj2sV6Dvhj8zrmVpPhiVk%2Bw%40mail.gmail.com >>>>>>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLMK-fgpxc71GYzue5gJvd%3Dfj2sV6Dvhj8zrmVpPhiVk%2Bw%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+unsubscr...@googlegroups.com. >>>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2BBQo_nWKJtbxPmi40V0Y6OgAaT78jSNSWKnwW8L3qmZQ%40mail.gmail.com >>>>>>>> <https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2BBQo_nWKJtbxPmi40V0Y6OgAaT78jSNSWKnwW8L3qmZQ%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+unsubscr...@googlegroups.com. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLNg4ScH5bK%3DeW7%3DVL_2%2BWdWT4kf5ud41LR5hh%2BJkCJR2g%40mail.gmail.com >>>>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLNg4ScH5bK%3DeW7%3DVL_2%2BWdWT4kf5ud41LR5hh%2BJkCJR2g%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> Best regards, >>>>>> >>>>>> Peter Stahlecker >>>>>> >>>>> -- >>>>>> 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 on the web visit >>>>>> https://groups.google.com/d/msgid/sympy/CABKqA0aP_Rx9rDQ-%2BumFq_9W8C4LDTRMGrFif_5GZ_dRTpA2VA%40mail.gmail.com >>>>>> <https://groups.google.com/d/msgid/sympy/CABKqA0aP_Rx9rDQ-%2BumFq_9W8C4LDTRMGrFif_5GZ_dRTpA2VA%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+unsubscr...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLOmpYg0iHjow4D5hvp_%3DFSfmKEgaWBiDFoweEX4Vo4jxw%40mail.gmail.com >>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLOmpYg0iHjow4D5hvp_%3DFSfmKEgaWBiDFoweEX4Vo4jxw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>>> Best regards, >>>> >>>> Peter Stahlecker >>>> >>>> -- >>>> 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 on the web visit >>>> https://groups.google.com/d/msgid/sympy/CABKqA0YJ7gvfrAKV4%2B%2BWU%3Dd_MP_%2BUMDAeRh434KdFesS%3DxiAvA%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/sympy/CABKqA0YJ7gvfrAKV4%2B%2BWU%3Dd_MP_%2BUMDAeRh434KdFesS%3DxiAvA%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+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLP8YcB6puF4Tg0BVOUKv8wCHnE1o113AeKXoMZnJ-NfpA%40mail.gmail.com >>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLP8YcB6puF4Tg0BVOUKv8wCHnE1o113AeKXoMZnJ-NfpA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> Best regards, >> >> Peter Stahlecker >> >> -- >> 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 on the web visit >> https://groups.google.com/d/msgid/sympy/CABKqA0ZZCaRbYjVVhEHs1mdnVtrbXr8kYR8Vk8_ZQ81YV%2Btg_Q%40mail.gmail.com >> <https://groups.google.com/d/msgid/sympy/CABKqA0ZZCaRbYjVVhEHs1mdnVtrbXr8kYR8Vk8_ZQ81YV%2Btg_Q%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+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/CA%2B1XYLOtBq8Bk17-QVN-z2CvYPQhFQOqJyzHpM3eXXGQz2uc1A%40mail.gmail.com > <https://groups.google.com/d/msgid/sympy/CA%2B1XYLOtBq8Bk17-QVN-z2CvYPQhFQOqJyzHpM3eXXGQz2uc1A%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- Best regards, Peter Stahlecker -- 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 on the web visit https://groups.google.com/d/msgid/sympy/CABKqA0avZ%3D%2BH5rnFfTZh0OYGV-RCZLzihgYmYy1Mo77LLk3HOw%40mail.gmail.com.