#Math640 (Rutgers), Spring 2016, Feb. 29, 2016 #C12.txt, starting the Jacobian conjecture Help:=proc(): print(` Inv(f,z,N) , LIF(f,z,N) `): end: #Inv(f,z,N): inputs an expression f in z (denoting a function of z that #vanishes at z=0 f(0)=0, tries to find the first N terms of #the inverse function (formal power series) g(z) such that #f(g(z))=z and g(f(z))=z Inv:=proc(f,z,N) local f1,g,a,gN: option remember: if eval(subs(z=0,f))<>0 then RETURN(FAIL): fi: a:=eval(subs(z=0,diff(f,z))): if a=0 then RETURN(FAIL): fi: if N=1 then RETURN(z/a): fi: g:=Inv(f,z,N-1)+gN*z^N: eval(subs(solve(coeff(taylor(subs(z=f,g),z=0,N+1),z,N),{gN}),g)): end: #LIF(f,z,N): does the same as Inv(f,z,N), but much slower, using the Lagrange Inversion Formula LIF:=proc(f,z,N) local g,n,c1: c1:=subs(z=0,normal(z/f)): g:=c1*z: for n from 2 to N do c1:= subs(z=0,normal(diff((z/f)^n,z$(n-1))))/n!: g:=g+c1*z^n: od: g: end: