|
From: Robert D. <rob...@gm...> - 2017-06-18 07:29:01
|
On 2017-06-18, Peter Foelsche <foe...@sb...> wrote: > Assume that f(x) and x itself is a n-dimensional vector. > If one derives the newton method, we are dealing with a 2-dim Jacobian. > Can one derive this for Halley’s method for vector valued functions? > I figured how to do this only for scalar functions: > > n:2; > ratsimp(subst(f0, f(x), subst(f3, diff(f(x),x,3), subst(f2, diff(f(x),x,2), subst(f1, diff(f(x),x), n*''(diff(1/f(x),x,n-1))/''(diff(1/f(x),x,n))))))); The only brief description of a multidimensional Halley method which I found is this: http://folk.uib.no/ssu029/Pdf_file/Cuyt85.pdf Do the formulas in Section 2 match the ones you are working with? I just skimmed through the paper but it looks like it should be possible with Maxima. A couple of elements which could be helpful: The second derivative f'' can be represented, I believe, as a list or maybe a matrix of one row or one column (dunno whether a list or matrix is preferable at this point) of matrices, each of which is the Hessian of one of the component functions of f. The function hessian computes the Hessian of a multivariate function. The function "at" is a substitution function which is somewhat specialized for representing derivatives evaluated at a point -- I guess this is what you are trying to achive with subst above? Just guessing on this point. By default, operations on lists are carried out element by element -- this happens to be the definition needed for the Banach algebra on R^n as mentioned in the paper. See the option variable listarith. There is an outline of an approach to solve the problem given in Section 2 of the paper -- maybe that could guide a Maxima implementation. I'll let that be enough for now -- let us know how it goes, it seems like a good problem. best, Robert Dodier |