mworks.TyOptimization工具箱无法传入python的function类型一般问题
代码:
import numpy as np
from mworks.TyOptimization import fsolve
def eqns(var):
x1 = var[0]
x2 = var[1]
eqn1 = x12 + x1*x2 + np.exp(x1-x2)
eqn2 = x1 - x2x1*x2
return [eqn2,eqn2]
x0 = [0,0]
print(fsolve(eqns,x=x0))
报错:
Traceback (most recent call last):
File "d:/临时草稿文件夹/mworks代码/Untitled-1.py", line 9, in
print(fsolve(eqns,[1,1]))
File "C:\Users\Public\TongYuan.julia\miniforge3\Lib\site-packages\tyjuliasetup\jv.py", line 43, in call
return jl_invoke(self, args, kwargs)
RuntimeError: unbox failed: cannot convert a Python object (type: Py(<class 'function'>)) to julia value.
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] reasonable_unbox(py::TyPython.CPython.Py)
@ Main.TyJuliaSetup none:182
[3] jl_call(self::TyPython.CPython.Py, args::TyPython.CPython.Py, kwargs::TyPython.CPython.Py)
@ Main.TyJuliaSetup none:274
[4] jl_call(self::Ptr{TyPython.CPython.PyObject}, _vectorargs::Ptr{TyPython.C.Ptr{TyPython.CPython.PyObject}}, argc::Int64)
@ Main.TyJuliaSetup C:\Users\Public\TongYuan.julia\packages\TyPython\8Xwv9\src\CPython.Dev.jl:101
[5] jl_call(self::Ptr{TyPython.CPython.PyObject}, _vectorargs::Ptr{TyPython.C.Ptr{TyPython.CPython.PyObject}}, argc::Int64)
@ Main.TyJuliaSetup C:\Users\Public\TongYuan.julia\packages\TyPython\8Xwv9\src\CPython.Dev.jl:122
(base) PS D:\临时草稿文件夹\mworks代码> & C:/Users/Public/TongYuan/.julia/miniforge3/python.exe d:/临时草稿文件夹/mworks代码/Untitled-1.py
Traceback (most recent call last):
File "d:/临时草稿文件夹/mworks代码/Untitled-1.py", line 10, in
print(fsolve(eqns,x=x0))
File "C:\Users\Public\TongYuan.julia\miniforge3\Lib\site-packages\tyjuliasetup\jv.py", line 43, in call
return jl_invoke(self, args, kwargs)
RuntimeError: unbox failed: cannot convert a Python object (type: Py(<class 'function'>)) to julia value.
Stacktrace:
[1] error(s::String)
@ Base .\error.jl:35
[2] reasonable_unbox(py::TyPython.CPython.Py)
@ Main.TyJuliaSetup none:182
[3] jl_call(self::TyPython.CPython.Py, args::TyPython.CPython.Py, kwargs::TyPython.CPython.Py)
@ Main.TyJuliaSetup none:274
[4] jl_call(self::Ptr{TyPython.CPython.PyObject}, _vectorargs::Ptr{TyPython.C.Ptr{TyPython.CPython.PyObject}}, argc::Int64)
@ Main.TyJuliaSetup C:\Users\Public\TongYuan.julia\packages\TyPython\8Xwv9\src\CPython.Dev.jl:101
[5] jl_call(self::Ptr{TyPython.CPython.PyObject}, _vectorargs::Ptr{TyPython.C.Ptr{TyPython.CPython.PyObject}}, argc::Int64)
@ Main.TyJuliaSetup C:\Users\Public\TongYuan.julia\packages\TyPython\8Xwv9\src\CPython.Dev.jl:122