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.

Reply via email to