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.

Reply via email to