But not working here.
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 5:12 PM gu...@uwosh.edu <gu...@uwosh.edu> wrote:

> Based on my experience developing fitting tools to be used by
> undergraduates (see
> https://jupyterphysscilab.github.io/jupyter_Pandas_GUI/) I think your
> choice of lmfit and scipy.optimize are good options.
>
> Jonathan
>
> On Thursday, August 18, 2022 at 7:35:00 AM UTC-5 z.kari...@gmail.com
> wrote:
>
>> Very useful, can I ask a question?
>> If you need to make your expression in a symbolic way using sympy which
>> includes log or exp. Which fitting library would you recommend to easily
>> pass your sympy expression and get your fitted parameters.
>> Zohreh Karimzadeh
>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh*
>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh>
>> Skype Name 49a52224a8b6b38b
>> Twitter Account @zohrehkarimzad1
>> z.kari...@gmail.com
>> +989102116325 <+98%20910%20211%206325>
>>
>> ((((((((((((((((Value Water)))))))))))))))
>>
>> On Thu, Aug 18, 2022 at 4:49 PM Peter Stahlecker <peter.st...@gmail.com>
>> wrote:
>>
>>> Most welcome! If I was of help, great! If not, I still enjoyed our
>>> conversation.
>>>
>>> On Thu 18. Aug 2022 at 19:08, Zohreh Karimzadeh <z.kari...@gmail.com>
>>> wrote:
>>>
>>>> thank you very much.
>>>> Zohreh Karimzadeh
>>>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh*
>>>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh>
>>>> Skype Name 49a52224a8b6b38b
>>>> Twitter Account @zohrehkarimzad1
>>>> z.kari...@gmail.com
>>>> +989102116325 <+98%20910%20211%206325>
>>>>
>>>> ((((((((((((((((Value Water)))))))))))))))
>>>>
>>>>
>>>> On Thu, Aug 18, 2022 at 4:35 PM Peter Stahlecker <peter.st...@gmail.com>
>>>> wrote:
>>>>
>>>>> Whatever they are, I believe your second return statement does not
>>>>> work, because you are adding ‚things‘ which cannot be added.
>>>>> I do not understand your program, but I do understand, that your
>>>>> second return statement cannot work.
>>>>>
>>>>> On Thu 18. Aug 2022 at 18:56 Zohreh Karimzadeh <z.kari...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> L and K are independent variables that will be passed to minimize.
>>>>>> Zohreh Karimzadeh
>>>>>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh*
>>>>>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh>
>>>>>> Skype Name 49a52224a8b6b38b
>>>>>> Twitter Account @zohrehkarimzad1
>>>>>> z.kari...@gmail.com
>>>>>> +989102116325 <+98%20910%20211%206325>
>>>>>>
>>>>>> ((((((((((((((((Value Water)))))))))))))))
>>>>>>
>>>>>>
>>>>>> On Thu, Aug 18, 2022 at 4:08 PM Peter Stahlecker <
>>>>>> peter.st...@gmail.com> wrote:
>>>>>>
>>>>>>> I just have no idea what
>>>>>>>
>>>>>>> np.sum((np.log(AV) + Vlam_est)**2)
>>>>>>>
>>>>>>> could possibly mean.  np.log(VA) is an array of floats, that is an
>>>>>>> array of *numbers*.
>>>>>>> Vlam_est is a *function*. How you can add numbers and a function I
>>>>>>> do not know..
>>>>>>> Vlam_est will become an array of numbers, once you give it the
>>>>>>> arguments.
>>>>>>>
>>>>>>> NB:
>>>>>>> it seems, that Vi_est uses the arguments alpha,.., eta, L, K
>>>>>>> When you lambdify it, you skipped the arguments L and K.
>>>>>>> Any reason for this?
>>>>>>>
>>>>>>> On Thu 18. Aug 2022 at 18:18 Zohreh Karimzadeh <z.kari...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> It seems always an expression of parameters and independent
>>>>>>>> variables is needed to be passed to fit and find parameters.
>>>>>>>> Zohreh Karimzadeh
>>>>>>>> *https://www.researchgate.net/profile/Zohreh-Karimzadeh*
>>>>>>>> <https://www.researchgate.net/profile/Zohreh-Karimzadeh>
>>>>>>>> Skype Name 49a52224a8b6b38b
>>>>>>>> Twitter Account @zohrehkarimzad1
>>>>>>>> z.kari...@gmail.com
>>>>>>>> +989102116325 <+98%20910%20211%206325>
>>>>>>>>
>>>>>>>> ((((((((((((((((Value Water)))))))))))))))
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Aug 18, 2022 at 3:28 PM Peter Stahlecker <
>>>>>>>> peter.st...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> In your first return statement, where it works, you seem to return
>>>>>>>>> a number.
>>>>>>>>> In your second return, your a ‚mixture‘ of numbers and functions:
>>>>>>>>> Vlam_est is a *function*, which requires four arguments as per
>>>>>>>>> its definition. Would you not have to return Vlam_est(alpha, beta, 
>>>>>>>>> gamma,
>>>>>>>>> eta) ?
>>>>>>>>>
>>>>>>>>> On Thu 18. Aug 2022 at 17:35 Zohreh Karimzadeh <
>>>>>>>>> z.kari...@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.kari...@gmail.com
>>>>>>>>>> +989102116325 <+98%20910%20211%206325>
>>>>>>>>>>
>>>>>>>>>> ((((((((((((((((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.kari...@gmail.com
>>>>>>>>>> +989102116325 <+98%20910%20211%206325>
>>>>>>>>>>
>>>>>>>>>> ((((((((((((((((Value Water)))))))))))))))
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Thu, Aug 18, 2022 at 10:42 AM Peter Stahlecker <
>>>>>>>>>> peter.st...@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.kari...@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 <+98%20910%20211%206325>
>>>>>>>>>>>>                      and at
>>>>>>>>>>>>      z.kari...@gmail.com
>>>>>>>>>>>>                                  🌧️🌍🌱
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, 18 Aug 2022, 01:17 Aaron Meurer, <asme...@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.kari...@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.kari...@gmail.com
>>>>>>>>>>>>>> +989102116325 <+98%20910%20211%206325>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ((((((((((((((((Value Water)))))))))))))))
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Wed, Aug 17, 2022 at 7:46 PM Peter Stahlecker <
>>>>>>>>>>>>>> peter.st...@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.kari...@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+un...@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+un...@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+un...@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+un...@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+un...@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+un...@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+un...@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>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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+un...@googlegroups.com.
>>>>>>>>>
>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/d/msgid/sympy/CABKqA0aBsD2WhpTuQqzZGUK1pfkUyH4q3Om9DdBQOpoaaO4rqQ%40mail.gmail.com
>>>>>>>>> <https://groups.google.com/d/msgid/sympy/CABKqA0aBsD2WhpTuQqzZGUK1pfkUyH4q3Om9DdBQOpoaaO4rqQ%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 on the web visit
>>>>>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLNiQNVa_hg25e-_f8xs%2B2w88p7JC4ntneBrqO4YFajTgA%40mail.gmail.com
>>>>>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLNiQNVa_hg25e-_f8xs%2B2w88p7JC4ntneBrqO4YFajTgA%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+un...@googlegroups.com.
>>>>>>>
>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/sympy/CABKqA0YedBPPLH73J6ScxkgNWN9_NCR-YvOcd7vpGX4SsGZj0g%40mail.gmail.com
>>>>>>> <https://groups.google.com/d/msgid/sympy/CABKqA0YedBPPLH73J6ScxkgNWN9_NCR-YvOcd7vpGX4SsGZj0g%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 on the web visit
>>>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLOkAu3fHK8Fm1eRoO8CQxkN70mnO%3DM7iNqeRg3bt44yZQ%40mail.gmail.com
>>>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLOkAu3fHK8Fm1eRoO8CQxkN70mnO%3DM7iNqeRg3bt44yZQ%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+un...@googlegroups.com.
>>>>>
>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/sympy/CABKqA0aeQ%3D47NmCUei%3DvtXwFyjs4dw%3DfZ%3DjQGqpJvsk68BRYHA%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/sympy/CABKqA0aeQ%3D47NmCUei%3DvtXwFyjs4dw%3DfZ%3DjQGqpJvsk68BRYHA%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 on the web visit
>>>> https://groups.google.com/d/msgid/sympy/CA%2B1XYLMg7bq4X3iedc0u_9nwiKHXrFd8GV1%3DdUt9n255dcwJxw%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/sympy/CA%2B1XYLMg7bq4X3iedc0u_9nwiKHXrFd8GV1%3DdUt9n255dcwJxw%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+un...@googlegroups.com.
>>>
>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/sympy/CABKqA0a6gewUiwcUHfk%3DR2fQVkwGgkefwYN0ziJoAesjKaabRg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/sympy/CABKqA0a6gewUiwcUHfk%3DR2fQVkwGgkefwYN0ziJoAesjKaabRg%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/5d28146e-d335-4eb9-9d88-6d77b31c18fcn%40googlegroups.com
> <https://groups.google.com/d/msgid/sympy/5d28146e-d335-4eb9-9d88-6d77b31c18fcn%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 on the web visit 
https://groups.google.com/d/msgid/sympy/CA%2B1XYLNR1fn8vMJTs_A56v7x7DFvxE%3DqSzx0L8dDV0kFKjg4rw%40mail.gmail.com.

Reply via email to