mitu_jiche 于 2014.12.14 16:23 提问

F[1] := proc (x) options operator, arrow; x^3+x^2*y+z^2+m*x end proc;
3 2 2

x -> x + x y + z + m x
F[2] := proc (x) options operator, arrow; y^2+x*y-x^3+x*z+m^2*y end proc;
2 3 2

x -> y + x y - x + x z + m y
F[3] := proc (x) options operator, arrow; z^3+y^2*z-x*z^2 end proc;
3 2 2
x -> z + y z - x z
F[4] := proc (x) options operator, arrow; m^3-m*z+y^2 end proc;
3 2
x -> m - m z + y
sq := seq(x[k], k = 1 .. 2);
p := sort(expand(sum((sum(x[k], k = 1 .. 2))*conjugate(u), u = 2)));
MF := {seq(x[i] = add(eta, eta = zip(proc (x, y) options operator, arrow; x*y end proc, [seq(h[i, s], s = 1 .. nops(p))], [seq(op(s, p)/coeffs(op(s, p)), s = 1 .. nops(p))])), i = 3 .. 4)};
for i from 3 to 4 do dh := 0; for j to 2 do dh := (diff(eval(x[i], MF), x[j]))*F[j]+dh end do; sort(select(proc (term) options operator, arrow; degree(term, {sq}) <= r end proc, expand(subs(MF, F[i]-dh)))); eqn[i] := seq(op(j, {coeffs(%, {sq})}) = 0, j = 1 .. nops({coeffs(%, {sq})})) end do; MF := subs(solve({seq(eqn[i], i = 3 .. 4)}, {seq(seq(h[i, s], s = 1 .. nops(p)), i = 3, 4)}), MF); for j to 2 do dx[j] := subs(MF, F[j]) end do;
Error, selecting function must return true or false
Error, invalid input: only two arguments expected for this form of seq, but received 3
F[1]
F[2]

1个回答

lzp_lrp      2014.12.19 23:22

Error, selecting function must return true or false