Есть какое-то поведение клена, которое я не понимаю. Скажем, я хочу разложить полином 1-z-z^3
на множители, поэтому я вычисляю его корни, используя
z0 := solve(1-z-z^3=0,z);
что дает (только для полноты...)
z0 := 1/6*(108+12*93^(1/2))^(1/3)-2/(108+12*93^(1/2))^(1/3), -1/12*(108+12*93^(1/2))^(1/3)+1/(108+12*93^(1/2))^(1/3)+1/2*I*3^(1/2)*(1/6*(108+12*93^(1/2))^(1/3)+2/(108+12*93^(1/2))^(1/3)), -1/12*(108+12*93^(1/2))^(1/3)+1/(108+12*93^(1/2))^(1/3)-1/2*I*3^(1/2)*(1/6*(108+12*93^(1/2))^(1/3)+2/(108+12*93^(1/2))^(1/3))
Теперь, если я попытаюсь выделить первый корень,
factor(1-z-z^3,z0[1]);
я получил
Error, (in factor) 2nd argument, 1/6*(108+12*93^(1/2))^(1/3)-2/(108+12*93^(1/2))^(1/3),
is not a valid algebraic extension
Что это значит? Это ошибка или выражение для z0[1]
слишком сложное? Если верно второе, то как лучше разложить на множители многочлены порядка, скажем, от 3 до 4?
evala((1-z-z^3)/z0[1])
. - person Erik P.   schedule 18.09.2015z-z0[1]
, учитывая, что1-z-z^3=(z-z0[1])*(z-z0[2])*(z-z0[3])
при полном расширении и упрощении (скажем, с помощью radnormal или evala/Normal). Таким образом, вместо того, чтобы делить наz0[1]
, он может захотеть разделить наz-z0[1]
. Или используйтеevala(Divide(1-z-z^3,z-z0[1],'q'))
, гдеq
таким образом присваивается побочным эффектом частное, которое должно равняться(z-z0[2])*(z-z0[3])
при нормализации. - person acer   schedule 19.09.2015