Carl Love

Carl Love

28045 Reputation

25 Badges

12 years, 334 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

@puckie I didn't see any attached file. Please attach the worksheet itself. Just from your description, I suspect that in the definition of Matrix M, you have F[i](V[i]) instead of the correct F[i](V(j)).

@puckie I didn't see any attached file. Please attach the worksheet itself. Just from your description, I suspect that in the definition of Matrix M, you have F[i](V[i]) instead of the correct F[i](V(j)).

Perhaps this is more clear:

restart:
Digits:= 200:
Order:= 20:
S:= convert(asympt(ln(n!), n), polynom);

evalf[10](evalf(eval(S, n= (1024+83/99)*10^95)/ln(10)));

Perhaps this is more clear:

restart:
Digits:= 200:
Order:= 20:
S:= convert(asympt(ln(n!), n), polynom);

evalf[10](evalf(eval(S, n= (1024+83/99)*10^95)/ln(10)));

Bravo. This is a beautiful and complicated geometric construction done entirely in Maple's geometry package, with step-by-step plots.

@erik10 If you show an example of each situation, I can explain why Maple responded the way that it did.

@erik10 If you show an example of each situation, I can explain why Maple responded the way that it did.

1. Remove all elements of list U from list A:

remove(`in`, A, U);

But searching a list is linear time whereas searching a set is logarithmic time because sets are stored sorted. So the above has time complexity O(|A|*|U|), but a trivial conversion of U to a set lowers the time complexity to O(|A|*ln(|U|)). This makes a huge difference in time when is large. So, change the above command to

remove(`in`, A, {U[]});

And do likewise for all the other alternatives for removing list U from list A: Replace with {U[]}.

2. Merge two lists into a list of pairs:

Use zip(`[]`, A, B) instead of zip((a,b)-> [a,b], A, B). This yields about 40% savings because `[]` is a kernel procedure whereas (a,b)-> [a,b] is, of course, user-defined.

@Markiyan Hirnyk Well, if we're having a competition for shortness,

nops([StringTools:-SearchAll("5", sprintf("%q", $1..2013))]);

@Markiyan Hirnyk Well, if we're having a competition for shortness,

nops([StringTools:-SearchAll("5", sprintf("%q", $1..2013))]);

@CarlitosVillalbaGalea I does mean the imaginary unit, sqrt(-1), but in the example above it cancels, leaving only real values. The cancellation can usually not be realized algebraically, but it can sometimes be realized through a conversion to trigonometric functions. I found a slightly simpler example:

 

(**)

p:= x^3-3*x+1;

x^3-3*x+1

(1)
(**)

fsolve(p);

-1.879385242, .3472963553, 1.532088886

(2)
(**)

discrim(p,x);

81

(3)

The discriminant is positive. There are three real roots.

(**)

Sol:= [solve](p);

[(1/2)*(-4+(4*I)*3^(1/2))^(1/3)+2/(-4+(4*I)*3^(1/2))^(1/3), -(1/4)*(-4+(4*I)*3^(1/2))^(1/3)-1/(-4+(4*I)*3^(1/2))^(1/3)+((1/2)*I)*3^(1/2)*((1/2)*(-4+(4*I)*3^(1/2))^(1/3)-2/(-4+(4*I)*3^(1/2))^(1/3)), -(1/4)*(-4+(4*I)*3^(1/2))^(1/3)-1/(-4+(4*I)*3^(1/2))^(1/3)-((1/2)*I)*3^(1/2)*((1/2)*(-4+(4*I)*3^(1/2))^(1/3)-2/(-4+(4*I)*3^(1/2))^(1/3))]

(4)
(**)

convert(Sol, trig);

[(1/2)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))+(1/2)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi)), -(1/4)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/4)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi))+((1/2)*I)*3^(1/2)*((1/2)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/2)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi))), -(1/4)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/4)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi))-((1/2)*I)*3^(1/2)*((1/2)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/2)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi)))]

(5)
(**)

simplify(%);

[2*cos((2/9)*Pi), -cos((2/9)*Pi)-3^(1/2)*sin((2/9)*Pi), -cos((2/9)*Pi)+3^(1/2)*sin((2/9)*Pi)]

(6)

All imaginary parts cancelled.

(**)

evalf(%);

[1.532088886, -1.879385242, .3472963559]

(7)

Same roots as with fsolve.

 

Now do it with your Matrix.

(**)

A4:= LinearAlgebra:-BandMatrix([[a||(1..3)], [-a1, -b1-a2, -b2-a3, -b3], [b||(1..3)]]);

Matrix(4, 4, {(1, 1) = -a1, (1, 2) = b1, (1, 3) = 0, (1, 4) = 0, (2, 1) = a1, (2, 2) = -b1-a2, (2, 3) = b2, (2, 4) = 0, (3, 1) = 0, (3, 2) = a2, (3, 3) = -b2-a3, (3, 4) = b3, (4, 1) = 0, (4, 2) = 0, (4, 3) = a3, (4, 4) = -b3})

(8)
(**)

LinearAlgebra:-CharacteristicPolynomial(A4,x);

x^4+(b3+b2+a3+b1+a2+a1)*x^3+(b2*b3+b3*b1+b3*a2+b3*a1+b1*b2+b2*a1+a3*b1+a3*a2+a3*a1+a1*a2)*x^2+(b1*b2*b3+b3*b2*a1+b3*a1*a2+a1*a2*a3)*x

(9)
(**)

p:= collect(expand(%/x),x);

x^3+(b3+b2+a3+b1+a2+a1)*x^2+(b2*b3+b3*b1+b3*a2+b3*a1+b1*b2+b2*a1+a3*b1+a3*a2+a3*a1+a1*a2)*x+b1*b2*b3+b3*b2*a1+b3*a1*a2+a1*a2*a3

(10)
(**)

d:= discrim(p,x);

-2*a2^3*a1^3-2*b3^3*a1^3-2*a3^3*a1^3+a2^2*a1^4+b3^2*a1^4+b2^2*a1^4+a3^2*a1^4+a2^4*a1^2+a3^4*a1^2+b2^4*a1^2+b3^4*a1^2-2*b2^3*a1^3+6*a2*b2*b1*a1^3-8*b1*b2*b3*a1^3+4*b2*b3*a2*a1^3-4*b2*b3*a3*a1^3+2*a2^3*a3*a1^2+2*a2^3*b1*a1^2+4*a2^3*b2*a1^2+2*a2^3*b3*a1^2-6*a2^2*a3^2*a1^2+a2^2*b1^2*a1^2+6*a2^2*b2^2*a1^2-6*a2^2*b3^2*a1^2+2*a2*a3^3*a1^2+4*a2*b2^3*a1^2+2*a2*b3^3*a1^2-6*a3^3*b1*a1^2+4*a3^3*b2*a1^2+6*a3^2*b1^2*a1^2+2*b2*b3^3*a1^2-2*a2^4*a3*a1-2*a2^4*b3*a1+2*a2^3*a3^2*a1+2*a2^3*b3^2*a1+2*a2^2*a3^3*a1+2*a2^2*b3^3*a1-2*a2*a3^4*a1-2*a2*b3^4*a1+2*a3^4*b1*a1-6*a3^3*b1^2*a1+2*b1*a2^2*a1^3-6*a2*b2^2*a1^3-6*b2*a3^2*a1^3-6*a3*b2^2*a1^3+4*b1*b2^2*a1^3+4*a3^2*b1*a1^3+2*a3^2*a2*a1^3+2*b3*a2^2*a1^3+2*a3*a2^2*a1^3-6*a3*b3^2*a1^3+2*b2*b3^2*a1^3+4*b3^2*b1*a1^3+2*b3^2*a2*a1^3-2*b3*a2*a1^4+4*a3^3*b3*a1^2-2*a3*a2*a1^4+4*a3^2*b1^3*a1+4*b1^3*b2^2*a1+4*b1^3*b3^2*a1-6*b1^2*b2^3*a1-6*b1^2*b3^3*a1+2*b1*b2^4*a1+2*b1*b3^4*a1-2*b2^4*b3*a1+2*b2^3*b3^2*a1+2*b2^2*b3^3*a1-2*b2*b3^4*a1-6*a2^2*b2*a1^3+2*a3*b3*a1^4-2*b2*b3*a1^4+2*b2^2*b3*a1^3+2*b2*a3*a1^4-6*b3*a3^2*a1^3+2*a2*b2*a1^4+6*a3^2*b2^2*a1^2+6*a3^2*b3^2*a1^2+4*a3*b2^3*a1^2+4*a3*b3^3*a1^2+6*b1^2*b2^2*a1^2+6*b1^2*b3^2*a1^2-6*b1*b2^3*a1^2-6*b1*b3^3*a1^2+2*b2^3*b3*a1^2-6*b2^2*b3^2*a1^2-4*a2*b1*b2*b3^3-2*a3^3*b1*b2*b3+10*a3^2*b1^2*b2*b3-6*a3^2*b1*b2^2*b3-6*a3^2*b1*b2*b3^2-4*a3*b1^3*b2*b3+8*a3*b1^2*b2^2*b3+8*a3*b1^2*b2*b3^2-6*a3*b1*b2^3*b3-4*a3*b1*b2^2*b3^2-6*a3*b1*b2*b3^3+2*a2^3*a3*b1*b2+8*a2^3*a3*b1*b3+6*a2^3*a3*b2*b3-2*a2^3*b1*b2*b3-2*a2^2*a3^2*b1*b2-18*a2^2*a3^2*b1*b3-2*a2^2*a3^2*b2*b3+6*a2^2*a3*b1^2*b2+12*a2^2*a3*b1^2*b3+4*a2^2*a3*b1*b2^2-18*a2^2*a3*b1*b3^2+6*a2^2*a3*b2^2*b3-10*a2^2*a3*b2*b3^2-6*a2^2*b1^2*b2*b3-6*a2^2*b1*b2^2*b3+10*a2^2*b1*b2*b3^2+6*a2*a3^3*b1*b2+8*a2*a3^3*b1*b3+2*a2*a3^3*b2*b3-10*a2*a3^2*b1^2*b2-18*a2*a3^2*b1^2*b3+6*a2*a3^2*b1*b2^2+12*a2*a3^2*b1*b3^2+4*a2*a3^2*b2^2*b3+6*a2*a3^2*b2*b3^2+6*a2*a3*b1^3*b2+8*a2*a3*b1^3*b3-2*a2*a3*b1^2*b2^2-18*a2*a3*b1^2*b3^2+2*a2*a3*b1*b2^3+8*a2*a3*b1*b3^3+2*a2*a3*b2^3*b3-2*a2*a3*b2^2*b3^2+6*a2*a3*b2*b3^3-6*a2*b1^3*b2*b3-4*a2*b1^2*b2^2*b3+8*a2*b1^2*b2*b3^2-6*a2*b1*b2^3*b3+8*a2*b1*b2^2*b3^2+a2^4*a3^2+a2^4*b3^2-2*a2^3*a3^3-2*a2^3*b3^3+a2^2*a3^4+a2^2*b3^4+a3^4*b1^2-2*a3^3*b1^3+a3^2*b1^4+b1^4*b2^2+b1^4*b3^2-2*b1^3*b2^3-2*b1^3*b3^3+b1^2*b2^4+b1^2*b3^4+b2^4*b3^2-2*b2^3*b3^3+b2^2*b3^4+4*a3^3*b1^2*b2+4*a3^3*b1^2*b3-6*a3^2*b1^3*b2-6*a3^2*b1^3*b3+6*a3^2*b1^2*b2^2+6*a3^2*b1^2*b3^2+a3^2*b2^2*b3^2+2*a3*b1^4*b2+2*a3*b1^4*b3-6*a3*b1^3*b2^2-6*a3*b1^3*b3^2+4*a3*b1^2*b2^3+4*a3*b1^2*b3^3+2*a3*b2^3*b3^2+2*a3*b2^2*b3^3-2*b1^4*b2*b3+2*b1^3*b2^2*b3+2*b1^3*b2*b3^2+2*b1^2*b2^3*b3-6*b1^2*b2^2*b3^2+2*b1^2*b2*b3^3-2*b1*b2^4*b3+2*b1*b2^3*b3^2+2*b1*b2^2*b3^3-2*b1*b2*b3^4+2*a2^4*a3*b3+4*a2^3*a3^2*b1+2*a2^3*a3^2*b2-6*a2^3*a3^2*b3-6*a2^3*a3*b3^2+4*a2^3*b1*b3^2+4*a2^3*b2*b3^2-6*a2^2*a3^3*b1+2*a2^2*a3^3*b2+4*a2^2*a3^3*b3+6*a2^2*a3^2*b1^2+a2^2*a3^2*b2^2+6*a2^2*a3^2*b3^2+4*a2^2*a3*b3^3+a2^2*b1^2*b2^2+6*a2^2*b1^2*b3^2-6*a2^2*b1*b3^3+6*a2^2*b2^2*b3^2-6*a2^2*b2*b3^3+2*a2*a3^4*b1-6*a2*a3^3*b1^2+4*a2*a3^2*b1^3+2*a2*b1^3*b2^2+4*a2*b1^3*b3^2+2*a2*b1^2*b2^3-6*a2*b1^2*b3^3+2*a2*b1*b3^4+4*a2*b2^3*b3^2-6*a2*b2^2*b3^3+2*a2*b2*b3^4+12*a3*b1^2*b2*a1^2+12*a3*b1^2*b3*a1^2-18*a3*b1*b2^2*a1^2-18*a3*b1*b3^2*a1^2+8*a3*b2*b3^2*a1^2-12*b1^2*b2*b3*a1^2+6*b1*b2^2*b3*a1^2+6*b1*b2*b3^2*a1^2+8*a3^3*b1*b2*a1+8*a3^3*b1*b3*a1-2*a3^3*b2*b3*a1-18*a3^2*b1^2*b2*a1-18*a3^2*b1^2*b3*a1+12*a3^2*b1*b2^2*a1+12*a3^2*b1*b3^2*a1-6*a3^2*b2^2*b3*a1-6*a3^2*b2*b3^2*a1+8*a3*b1^3*b2*a1+8*a3*b1^3*b3*a1-18*a3*b1^2*b2^2*a1-18*a3*b1^2*b3^2*a1+8*a3*b1*b2^3*a1+8*a3*b1*b3^3*a1-6*a3*b2^3*b3*a1-6*b1*b3*a2*a1^3-6*b1*a3*a2*a1^3+8*b2*a3*b1*a1^3-4*b2*a3*a2*a1^3+8*a3*b3*b1*a1^3+4*a3*b3*a2*a1^3+8*a3*b3*b2^2*a1^2+10*a3^2*b3*b2*a1^2-18*a3^2*b3*b1*a1^2+6*a3^2*b3*a2*a1^2-6*a2^3*a3*b1*a1-6*a2^3*a3*b2*a1+4*a2^3*a3*b3*a1+2*a2^3*b1*b2*a1-6*a2^3*b1*b3*a1-8*a2^3*b2*b3*a1+8*a2^2*a3^2*b1*a1-4*a2^2*a3^2*b2*a1+6*a2^2*a3^2*b3*a1-6*a2^2*a3*b1^2*a1-6*a2^2*a3*b2^2*a1+6*a2^2*a3*b3^2*a1+4*a2^2*b1^2*b2*a1-6*a2^2*b1^2*b3*a1+6*a2^2*b1*b2^2*a1+8*a2^2*b1*b3^2*a1-12*a2^2*b2^2*b3*a1+6*a2^2*b2*b3^2*a1-4*a2*a3^3*b1*a1-4*a3*b2^2*b3^2*a1-6*a3*b2*b3^3*a1-8*b1^3*b2*b3*a1+6*b1^2*b2^2*b3*a1+6*b1^2*b2*b3^2*a1+4*b1*b2^3*b3*a1-12*b1*b2^2*b3^2*a1+4*b1*b2*b3^3*a1-4*a2^2*a3*b1*a1^2+8*a2^2*a3*b2*a1^2-12*a2^2*a3*b3*a1^2-2*a2^2*b1*b2*a1^2-4*a2^2*b1*b3*a1^2+6*a2^2*b2*b3*a1^2+8*a2*a3^2*b1*a1^2+8*a2*a3^2*b2*a1^2-6*a2*a3*b1^2*a1^2+10*a2*a3*b2^2*a1^2+6*a2*a3*b3^2*a1^2+6*a2*b1^2*b2*a1^2-6*a2*b1^2*b3*a1^2-10*a2*b1*b2^2*a1^2+8*a2*b1*b3^2*a1^2+6*a2*b2^2*b3*a1^2-12*a2*b2*b3^2*a1^2-18*a3^2*b1*b2*a1^2-6*a2*a3^3*b2*a1-8*a2*a3^3*b3*a1+10*a2*a3^2*b1^2*a1-6*a2*a3^2*b2^2*a1-12*a2*a3^2*b3^2*a1-2*a2*a3*b1^3*a1-2*a2*a3*b2^3*a1-8*a2*a3*b3^3*a1+2*a2*b1^3*b2*a1-2*a2*b1^3*b3*a1-2*a2*b1^2*b2^2*a1+10*a2*b1^2*b3^2*a1+6*a2*b1*b2^3*a1-4*a2*b1*b3^3*a1-8*a2*b2^3*b3*a1+6*a2*b2^2*b3^2*a1+4*a2*b2*b3^3*a1+8*a2^2*a3*b1*b2*b3+8*a2*a3^2*b1*b2*b3-2*a2*a3*b1^2*b2*b3-6*a2*a3*b1*b2^2*b3-2*a2*a3*b1*b2*b3^2-6*a2*a3*b1*b2*b3*a1-6*a2^2*a3*b1*b2*a1+16*a2^2*a3*b1*b3*a1+2*a2^2*a3*b2*b3*a1-8*a2^2*b1*b2*b3*a1-2*a2*a3^2*b1*b2*a1-12*a2*a3^2*b1*b3*a1-8*a2*a3^2*b2*b3*a1+8*a2*a3*b1^2*b2*a1+20*a2*a3*b1^2*b3*a1+8*a2*a3*b1*b2^2*a1-12*a2*a3*b1*b3^2*a1-8*a2*a3*b2^2*b3*a1+2*a2*a3*b2*b3^2*a1-8*a2*b1^2*b2*b3*a1+2*a2*b1*b2^2*b3*a1-4*a2*b1*b2*b3^2*a1+20*a3^2*b1*b2*b3*a1-12*a3*b1^2*b2*b3*a1-4*a3*b3*a2*b2*a1^2-12*a3*b3*b1*b2*a1^2+16*a3*b1*b2^2*b3*a1+16*a3*b1*b2*b3^2*a1-2*a2*a3*b1*b2*a1^2+16*a2*a3*b1*b3*a1^2+2*a2*b1*b2*b3*a1^2

(11)

It would be extremely difficult to determine in general when the discriminant is positive, hence when the roots are real.

 

Set all parameters to 1.

(**)

Evals:= [a||(1..3), b||(1..3)] =~ [1$6];

[a1 = 1, a2 = 1, a3 = 1, b1 = 1, b2 = 1, b3 = 1]

(12)
(**)

fsolve(eval(p, Evals));

-3.41421356237310, -2., -.585786437626905

(13)
(**)

eval(d, Evals);

32

(14)
(**)

 

 

 

Download cubic.mws

@CarlitosVillalbaGalea I does mean the imaginary unit, sqrt(-1), but in the example above it cancels, leaving only real values. The cancellation can usually not be realized algebraically, but it can sometimes be realized through a conversion to trigonometric functions. I found a slightly simpler example:


(**)

p:= x^3-3*x+1;

x^3-3*x+1

(1)
(**)

fsolve(p);

-1.87938524157182, .347296355333861, 1.53208888623796

(2)
(**)

discrim(p,x);

81

(3)

The discriminant is positive. There are three real roots.

(**)

Sol:= [solve](p);

[(1/2)*(-4+(4*I)*3^(1/2))^(1/3)+2/(-4+(4*I)*3^(1/2))^(1/3), -(1/4)*(-4+(4*I)*3^(1/2))^(1/3)-1/(-4+(4*I)*3^(1/2))^(1/3)+((1/2)*I)*3^(1/2)*((1/2)*(-4+(4*I)*3^(1/2))^(1/3)-2/(-4+(4*I)*3^(1/2))^(1/3)), -(1/4)*(-4+(4*I)*3^(1/2))^(1/3)-1/(-4+(4*I)*3^(1/2))^(1/3)-((1/2)*I)*3^(1/2)*((1/2)*(-4+(4*I)*3^(1/2))^(1/3)-2/(-4+(4*I)*3^(1/2))^(1/3))]

(4)
(**)

convert(Sol, trig);

[(1/2)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))+(1/2)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi)), -(1/4)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/4)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi))+((1/2)*I)*3^(1/2)*((1/2)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/2)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi))), -(1/4)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/4)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi))-((1/2)*I)*3^(1/2)*((1/2)*4^(1/2)*(cos((2/9)*Pi)+I*sin((2/9)*Pi))-(1/2)*4^(1/2)*(cos((2/9)*Pi)-I*sin((2/9)*Pi)))]

(5)
(**)

simplify(%);

[2*cos((2/9)*Pi), -3^(1/2)*sin((2/9)*Pi)-cos((2/9)*Pi), 3^(1/2)*sin((2/9)*Pi)-cos((2/9)*Pi)]

(6)

All imaginary parts cancelled.

(**)

evalf(%);

[1.53208888623796, -1.87938524157182, .347296355333861]

(7)

Same roots as with fsolve.

 

Now do it with your Matrix.

(**)

A4:= LinearAlgebra:-BandMatrix([[a||(1..3)], [-a1, -b1-a2, -b2-a3, -b3], [b||(1..3)]]);

Matrix(%id = 18446744073913204870)

(8)
(**)

LinearAlgebra:-CharacteristicPolynomial(A4,x);

x^4+(b3+b2+a3+b1+a2+a1)*x^3+(a1*a2+a1*a3+a1*b2+a1*b3+a2*a3+a2*b3+a3*b1+b1*b2+b1*b3+b2*b3)*x^2+(a1*a2*a3+a1*a2*b3+a1*b2*b3+b1*b2*b3)*x

(9)
(**)

p:= collect(expand(%/x),x);

x^3+(b3+b2+a3+b1+a2+a1)*x^2+(a1*a2+a1*a3+a1*b2+a1*b3+a2*a3+a2*b3+a3*b1+b1*b2+b1*b3+b2*b3)*x+a1*a2*a3+a1*a2*b3+a1*b2*b3+b1*b2*b3

(10)
(**)

d:= discrim(p,x);

a1^4*a2^2-2*a1^4*a2*a3+2*a1^4*a2*b2-2*a1^4*a2*b3+a1^4*a3^2+2*a1^4*a3*b2+2*a1^4*a3*b3+a1^4*b2^2-2*a1^4*b2*b3+a1^4*b3^2-2*a1^3*a2^3+2*a1^3*a2^2*a3+2*a1^3*a2^2*b1-6*a1^3*a2^2*b2+2*a1^3*a2^2*b3+2*a1^3*a2*a3^2-6*a1^3*a2*a3*b1-4*a1^3*a2*a3*b2+4*a1^3*a2*a3*b3+6*a1^3*a2*b1*b2-6*a1^3*a2*b1*b3-6*a1^3*a2*b2^2+4*a1^3*a2*b2*b3+2*a1^3*a2*b3^2-2*a1^3*a3^3+4*a1^3*a3^2*b1-6*a1^3*a3^2*b2-6*a1^3*a3^2*b3+8*a1^3*a3*b1*b2+8*a1^3*a3*b1*b3-6*a1^3*a3*b2^2-4*a1^3*a3*b2*b3-6*a1^3*a3*b3^2+4*a1^3*b1*b2^2-8*a1^3*b1*b2*b3+4*a1^3*b1*b3^2-2*a1^3*b2^3+2*a1^3*b2^2*b3+2*a1^3*b2*b3^2-2*a1^3*b3^3+a1^2*a2^4+2*a1^2*a2^3*a3+2*a1^2*a2^3*b1+4*a1^2*a2^3*b2+2*a1^2*a2^3*b3-6*a1^2*a2^2*a3^2-4*a1^2*a2^2*a3*b1+8*a1^2*a2^2*a3*b2-12*a1^2*a2^2*a3*b3+a1^2*a2^2*b1^2-2*a1^2*a2^2*b1*b2-4*a1^2*a2^2*b1*b3+6*a1^2*a2^2*b2^2+6*a1^2*a2^2*b2*b3-6*a1^2*a2^2*b3^2+2*a1^2*a2*a3^3+8*a1^2*a2*a3^2*b1+8*a1^2*a2*a3^2*b2+6*a1^2*a2*a3^2*b3-6*a1^2*a2*a3*b1^2-2*a1^2*a2*a3*b1*b2+16*a1^2*a2*a3*b1*b3+10*a1^2*a2*a3*b2^2-4*a1^2*a2*a3*b2*b3+6*a1^2*a2*a3*b3^2+6*a1^2*a2*b1^2*b2-6*a1^2*a2*b1^2*b3-10*a1^2*a2*b1*b2^2+2*a1^2*a2*b1*b2*b3+8*a1^2*a2*b1*b3^2+4*a1^2*a2*b2^3+6*a1^2*a2*b2^2*b3-12*a1^2*a2*b2*b3^2+2*a1^2*a2*b3^3+a1^2*a3^4-6*a1^2*a3^3*b1+4*a1^2*a3^3*b2+4*a1^2*a3^3*b3+6*a1^2*a3^2*b1^2-18*a1^2*a3^2*b1*b2-18*a1^2*a3^2*b1*b3+6*a1^2*a3^2*b2^2+10*a1^2*a3^2*b2*b3+6*a1^2*a3^2*b3^2+12*a1^2*a3*b1^2*b2+12*a1^2*a3*b1^2*b3-18*a1^2*a3*b1*b2^2-12*a1^2*a3*b1*b2*b3-18*a1^2*a3*b1*b3^2+4*a1^2*a3*b2^3+8*a1^2*a3*b2^2*b3+8*a1^2*a3*b2*b3^2+4*a1^2*a3*b3^3+6*a1^2*b1^2*b2^2-12*a1^2*b1^2*b2*b3+6*a1^2*b1^2*b3^2-6*a1^2*b1*b2^3+6*a1^2*b1*b2^2*b3+6*a1^2*b1*b2*b3^2-6*a1^2*b1*b3^3+a1^2*b2^4+2*a1^2*b2^3*b3-6*a1^2*b2^2*b3^2+2*a1^2*b2*b3^3+a1^2*b3^4-2*a1*a2^4*a3-2*a1*a2^4*b3+2*a1*a2^3*a3^2-6*a1*a2^3*a3*b1-6*a1*a2^3*a3*b2+4*a1*a2^3*a3*b3+2*a1*a2^3*b1*b2-6*a1*a2^3*b1*b3-8*a1*a2^3*b2*b3+2*a1*a2^3*b3^2+2*a1*a2^2*a3^3+8*a1*a2^2*a3^2*b1-4*a1*a2^2*a3^2*b2+6*a1*a2^2*a3^2*b3-6*a1*a2^2*a3*b1^2-6*a1*a2^2*a3*b1*b2+16*a1*a2^2*a3*b1*b3-6*a1*a2^2*a3*b2^2+2*a1*a2^2*a3*b2*b3+6*a1*a2^2*a3*b3^2+4*a1*a2^2*b1^2*b2-6*a1*a2^2*b1^2*b3+6*a1*a2^2*b1*b2^2-8*a1*a2^2*b1*b2*b3+8*a1*a2^2*b1*b3^2-12*a1*a2^2*b2^2*b3+6*a1*a2^2*b2*b3^2+2*a1*a2^2*b3^3-2*a1*a2*a3^4-4*a1*a2*a3^3*b1-6*a1*a2*a3^3*b2-8*a1*a2*a3^3*b3+10*a1*a2*a3^2*b1^2-2*a1*a2*a3^2*b1*b2-12*a1*a2*a3^2*b1*b3-6*a1*a2*a3^2*b2^2-8*a1*a2*a3^2*b2*b3-12*a1*a2*a3^2*b3^2-2*a1*a2*a3*b1^3+8*a1*a2*a3*b1^2*b2+20*a1*a2*a3*b1^2*b3+8*a1*a2*a3*b1*b2^2-6*a1*a2*a3*b1*b2*b3-12*a1*a2*a3*b1*b3^2-2*a1*a2*a3*b2^3-8*a1*a2*a3*b2^2*b3+2*a1*a2*a3*b2*b3^2-8*a1*a2*a3*b3^3+2*a1*a2*b1^3*b2-2*a1*a2*b1^3*b3-2*a1*a2*b1^2*b2^2-8*a1*a2*b1^2*b2*b3+10*a1*a2*b1^2*b3^2+6*a1*a2*b1*b2^3+2*a1*a2*b1*b2^2*b3-4*a1*a2*b1*b2*b3^2-4*a1*a2*b1*b3^3-8*a1*a2*b2^3*b3+6*a1*a2*b2^2*b3^2+4*a1*a2*b2*b3^3-2*a1*a2*b3^4+2*a1*a3^4*b1-6*a1*a3^3*b1^2+8*a1*a3^3*b1*b2+8*a1*a3^3*b1*b3-2*a1*a3^3*b2*b3+4*a1*a3^2*b1^3-18*a1*a3^2*b1^2*b2-18*a1*a3^2*b1^2*b3+12*a1*a3^2*b1*b2^2+20*a1*a3^2*b1*b2*b3+12*a1*a3^2*b1*b3^2-6*a1*a3^2*b2^2*b3-6*a1*a3^2*b2*b3^2+8*a1*a3*b1^3*b2+8*a1*a3*b1^3*b3-18*a1*a3*b1^2*b2^2-12*a1*a3*b1^2*b2*b3-18*a1*a3*b1^2*b3^2+8*a1*a3*b1*b2^3+16*a1*a3*b1*b2^2*b3+16*a1*a3*b1*b2*b3^2+8*a1*a3*b1*b3^3-6*a1*a3*b2^3*b3-4*a1*a3*b2^2*b3^2-6*a1*a3*b2*b3^3+4*a1*b1^3*b2^2-8*a1*b1^3*b2*b3+4*a1*b1^3*b3^2-6*a1*b1^2*b2^3+6*a1*b1^2*b2^2*b3+6*a1*b1^2*b2*b3^2-6*a1*b1^2*b3^3+2*a1*b1*b2^4+4*a1*b1*b2^3*b3-12*a1*b1*b2^2*b3^2+4*a1*b1*b2*b3^3+2*a1*b1*b3^4-2*a1*b2^4*b3+2*a1*b2^3*b3^2+2*a1*b2^2*b3^3-2*a1*b2*b3^4+a2^4*a3^2+2*a2^4*a3*b3+a2^4*b3^2-2*a2^3*a3^3+4*a2^3*a3^2*b1+2*a2^3*a3^2*b2-6*a2^3*a3^2*b3+2*a2^3*a3*b1*b2+8*a2^3*a3*b1*b3+6*a2^3*a3*b2*b3-6*a2^3*a3*b3^2-2*a2^3*b1*b2*b3+4*a2^3*b1*b3^2+4*a2^3*b2*b3^2-2*a2^3*b3^3+a2^2*a3^4-6*a2^2*a3^3*b1+2*a2^2*a3^3*b2+4*a2^2*a3^3*b3+6*a2^2*a3^2*b1^2-2*a2^2*a3^2*b1*b2-18*a2^2*a3^2*b1*b3+a2^2*a3^2*b2^2-2*a2^2*a3^2*b2*b3+6*a2^2*a3^2*b3^2+6*a2^2*a3*b1^2*b2+12*a2^2*a3*b1^2*b3+4*a2^2*a3*b1*b2^2+8*a2^2*a3*b1*b2*b3-18*a2^2*a3*b1*b3^2+6*a2^2*a3*b2^2*b3-10*a2^2*a3*b2*b3^2+4*a2^2*a3*b3^3+a2^2*b1^2*b2^2-6*a2^2*b1^2*b2*b3+6*a2^2*b1^2*b3^2-6*a2^2*b1*b2^2*b3+10*a2^2*b1*b2*b3^2-6*a2^2*b1*b3^3+6*a2^2*b2^2*b3^2-6*a2^2*b2*b3^3+a2^2*b3^4+2*a2*a3^4*b1-6*a2*a3^3*b1^2+6*a2*a3^3*b1*b2+8*a2*a3^3*b1*b3+2*a2*a3^3*b2*b3+4*a2*a3^2*b1^3-10*a2*a3^2*b1^2*b2-18*a2*a3^2*b1^2*b3+6*a2*a3^2*b1*b2^2+8*a2*a3^2*b1*b2*b3+12*a2*a3^2*b1*b3^2+4*a2*a3^2*b2^2*b3+6*a2*a3^2*b2*b3^2+6*a2*a3*b1^3*b2+8*a2*a3*b1^3*b3-2*a2*a3*b1^2*b2^2-2*a2*a3*b1^2*b2*b3-18*a2*a3*b1^2*b3^2+2*a2*a3*b1*b2^3-6*a2*a3*b1*b2^2*b3-2*a2*a3*b1*b2*b3^2+8*a2*a3*b1*b3^3+2*a2*a3*b2^3*b3-2*a2*a3*b2^2*b3^2+6*a2*a3*b2*b3^3+2*a2*b1^3*b2^2-6*a2*b1^3*b2*b3+4*a2*b1^3*b3^2+2*a2*b1^2*b2^3-4*a2*b1^2*b2^2*b3+8*a2*b1^2*b2*b3^2-6*a2*b1^2*b3^3-6*a2*b1*b2^3*b3+8*a2*b1*b2^2*b3^2-4*a2*b1*b2*b3^3+2*a2*b1*b3^4+4*a2*b2^3*b3^2-6*a2*b2^2*b3^3+2*a2*b2*b3^4+a3^4*b1^2-2*a3^3*b1^3+4*a3^3*b1^2*b2+4*a3^3*b1^2*b3-2*a3^3*b1*b2*b3+a3^2*b1^4-6*a3^2*b1^3*b2-6*a3^2*b1^3*b3+6*a3^2*b1^2*b2^2+10*a3^2*b1^2*b2*b3+6*a3^2*b1^2*b3^2-6*a3^2*b1*b2^2*b3-6*a3^2*b1*b2*b3^2+a3^2*b2^2*b3^2+2*a3*b1^4*b2+2*a3*b1^4*b3-6*a3*b1^3*b2^2-4*a3*b1^3*b2*b3-6*a3*b1^3*b3^2+4*a3*b1^2*b2^3+8*a3*b1^2*b2^2*b3+8*a3*b1^2*b2*b3^2+4*a3*b1^2*b3^3-6*a3*b1*b2^3*b3-4*a3*b1*b2^2*b3^2-6*a3*b1*b2*b3^3+2*a3*b2^3*b3^2+2*a3*b2^2*b3^3+b1^4*b2^2-2*b1^4*b2*b3+b1^4*b3^2-2*b1^3*b2^3+2*b1^3*b2^2*b3+2*b1^3*b2*b3^2-2*b1^3*b3^3+b1^2*b2^4+2*b1^2*b2^3*b3-6*b1^2*b2^2*b3^2+2*b1^2*b2*b3^3+b1^2*b3^4-2*b1*b2^4*b3+2*b1*b2^3*b3^2+2*b1*b2^2*b3^3-2*b1*b2*b3^4+b2^4*b3^2-2*b2^3*b3^3+b2^2*b3^4

(11)

It would be extremely difficult to determine in general when the discriminant is positive, hence when the roots are real.

 

Set all parameters to 1.

(**)

Evals:= [a||(1..3), b||(1..3)] =~ [1$6];

[a1 = 1, a2 = 1, a3 = 1, b1 = 1, b2 = 1, b3 = 1]

(12)
(**)

fsolve(eval(p, Evals));

-3.41421356237310, -2., -.585786437626905

(13)
(**)

eval(d, Evals);

32

(14)
(**)

 

 


Download cubic.mws

After reading the help page, which has far too few examples, and also reading the long thread referred to by PatrickT, I would think that you could achieve what you what by using pre(x(t)), that being the previous value of x(t). But I can't make it work. Perhaps pre only works with discrete variables. Specifically, I don't understand why events= [[abs(pre(x(t)) - x(t)) - 1e-8, halt]] does not work.

Could you give an example of code that does not work in Maple 16, i.e. a manifestation of the bug? The example I gave works in Maple 16.02/64/Standard.

Could you give an example of code that does not work in Maple 16, i.e. a manifestation of the bug? The example I gave works in Maple 16.02/64/Standard.

First 627 628 629 630 631 632 633 Last Page 629 of 709