Question: Manipulating RootOf with with subs and solve

I am working on a problem that involves finding a map lambda(x) which maple stores using RootOf:

LambdaMap := [lambda[1] = RootOf(kh[a2]*_Z^2+(-R[b]*kh[a2]-R[m]*kh[a2]+Rh[m]*kh[a2]+2*kh[a2]*x[2])*_Z-2*k[a2]*x[1]*x[2]-k[a2]*x[1]^2+k[a2]*x[1]*R[b]+2*kh[d2]*x[2]-2*k[d2]*x[2]), lambda[2] = x[2], lambda[3] = x[1]+x[3]-RootOf(kh[a2]*_Z^2+(-R[b]*kh[a2]-R[m]*kh[a2]+Rh[m]*kh[a2]+2*kh[a2]*x[2])*_Z-2*k[a2]*x[1]*x[2]-k[a2]*x[1]^2+k[a2]*x[1]*R[b]+2*kh[d2]*x[2]-2*k[d2]*x[2])]

(as an aside, after a few years of using maple and reading the help page I find RootOf confusing, and I think this is the root of this question, I'd love to get some recomended reading on it in the answers)

I want to use the restriction lambda(0,0,0)=(0,0,0) to find relationships between the parameters (kh,k,Rh,R etc)

I tried:

`~`[`=`](`~`[rhs](subs([x[1] = 0, x[2] = 0, x[3] = 0], LambdaMap)), [0, 0, 0]);
solve(%);

which returned:
[RootOf(kh[a2]*_Z^2+(-R[b]*kh[a2]-R[m]*kh[a2]+Rh[m]*kh[a2])*_Z) = 0, 0 = 0, -RootOf(kh[a2]*_Z^2+(-R[b]*kh[a2]-R[m]*kh[a2]+Rh[m]*kh[a2])*_Z) = 0]
{R[b] = R[b], R[m] = R[m], Rh[m] = Rh[m]}

which seems wrong (both the first and third equations are quadratics sharing roots, the first root is _Z=0, and the second is _Z=-R[b]-R[m]+Rh[m]- i'm not sure how either result in this solve)

Is this the right way to do this? i.e. do solve and subs, work intuitively with RootOf expressions.

I am doing some calculus on lambda next - is there anything i should be mindful of when calculating its Jacobean or using diff?

Please Wait...