@@ -136,27 +136,28 @@ function ode_def_opts(name::Symbol,opts::Dict{Symbol,Bool},ex::Expr,params...;_M
136136
137137 if opts[:build_invjac ]
138138 try # Jacobian Inverse
139- invjac = inv (symjac)
139+ L = Base. convert (SymEngine. CDenseMatrix,symjac)
140+ invjac = inv (L)
140141 invJex = build_jac_func (invjac,indvar_dict,params)
141142 bad_derivative (invJex)
142143 invjac_exists = true
143144 catch err
144- println (err)
145145 @warn (" Jacobian could not invert" )
146146 end
147147 end
148148 if opts[:build_invW ]
149149 try # Rosenbrock-W Inverse
150- syminvW = inv (M - γ* symjac)
151- syminvW_t = inv (M/ γ - symjac)
150+ L = Base. convert (SymEngine. CDenseMatrix,M - γ* symjac)
151+ syminvW = inv (L)
152+ L = Base. convert (SymEngine. CDenseMatrix,M/ γ - symjac)
153+ syminvW_t = inv (L)
152154 invWex = build_jac_func (syminvW,indvar_dict,params)
153155 bad_derivative (invWex)
154156 invW_exists = true
155157 invWex_t = build_jac_func (syminvW_t,indvar_dict,params)
156158 bad_derivative (invWex_t)
157159 invW_t_exists = true
158160 catch err
159- println (err)
160161 @warn (" Rosenbrock-W could not invert" )
161162 end
162163 end
@@ -172,7 +173,8 @@ function ode_def_opts(name::Symbol,opts::Dict{Symbol,Bool},ex::Expr,params...;_M
172173 hes_exists = true
173174 if opts[:build_invhes ]
174175 try # Hessian Inverse
175- invhes = inv (symhes)
176+ L = Base. convert (SymEngine. CDenseMatrix,symhes)
177+ invhes = inv (L)
176178 invHex = build_jac_func (invhes,indvar_dict,params)
177179 bad_derivative (invHex)
178180 invhes_exists = true
@@ -221,7 +223,6 @@ function ode_def_opts(name::Symbol,opts::Dict{Symbol,Bool},ex::Expr,params...;_M
221223 param_Jex = build_jac_func (param_symjac_ex,indvar_dict,params,params_from_function= false )
222224 param_jac_exists = true
223225 catch err
224- println (err)
225226 @warn (" Failed to build the parameter derivatives." )
226227 end
227228 end
0 commit comments