Carl Love

Carl Love

28055 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

@Markiyan Hirnyk According to the Wikipedia article that you cite, A.B = B.A implies exp(A+B) = exp(A).exp(B), but the conclusion is not generally true.

You need to start with a general form, usually based on scientific theory. For example, you might guess that

Current  = k*sin(omega*time + phi)

Then you could computationally figure out k, omega, and phi with Maple.

Without some guess about the general form it is difficult or impossible.

@Erfan Your evaluation works, but I would write it like this:

op(1,A) = op(1,B) and LinearAlgebra:-Rank(A) = LinearAlgebra:-Rank(B)

This avoids the computation of the ranks if the sizes are unequal. This is probably more efficient unless the overwhelming majority of your invocations involve matrices of the same size.

Note that Kitonum has used ifactors rather than ifactor. The former returns the factorization in a form more amenable to programmatic manipulation.

@Muhammad Usman In your code, you treat L and F as if they were matrices. But they are procedures that return matrices. In your last line, change L to L(M) and F to F(M).

Which plot in the attached paper are you referring to? I note that most of them are done in a point style, which doesn't seem appropriate for plotting functions such as you have listed.

@oldstudent I think that the matrix palette is for only 2d matrices.

It is not clear what you mean by "equation". There are no true equations is your post. And it is not clear what you mean by "solve".

@ThU I used PNG; you used JPG. So I guess JPG works better here.

@WitnessA You messed up by saying soln1[n]. The square brackets mean nothing to Maple in this context. You need to make soln1 into a function of n with a command called unapply. Likewise, a(n+1) and a(n) mean nothing to Maple.

Here's my solution:


restart:

rsys:= {a(n) = x^3/(3*n-1)/3/n*a(n-1), a(0)=1};

{a(0) = 1, a(n) = (1/3)*x^3*a(n-1)/((3*n-1)*n)}

(1)

A:= unapply(rsolve(rsys, a(n)), n);

proc (n) options operator, arrow; 9^(-n)*(x^3)^n*GAMMA(2/3)/(GAMMA(n+2/3)*GAMMA(n+1)) end proc

(2)

Use Ratio test.

simplify(A(n+1)/A(n));

(1/3)*x^3/((3*n+2)*(n+1))

(3)

limit(abs(%), n= infinity);

0

(4)

Therefore the series converges everywhere. The domain is all complex numbers.

 

Maple has functions AiryAi and AiryBi, but they don't seem to correspond to this series. Let's try to find the relationship.

sum(A(n), n= 0..infinity);

(1/3)*BesselI(-1/3, (2/3)*(x^3)^(1/2))*GAMMA(2/3)*3^(2/3)*(x^3)^(1/6)

(5)

convert(%, Airy);

(1/2)*3^(1/6)*(3^(1/2)*AiryAi((x^3)^(1/3))+AiryBi((x^3)^(1/3)))*GAMMA(2/3)

(6)

AIRY:= simplify(%, symbolic);

(1/2)*3^(1/6)*(3^(1/2)*AiryAi(x)+AiryBi(x))*GAMMA(2/3)

(7)

So our function AIRY is a linear combination of Maple's two Airy functions.

 

I'll leave it to you to plot the partial sums. Let me know if you have any trouble.


Download Airy.mw

@das1404 As far as I know, animated GIFs are always continuous. This is a limitation of GIFs, not of Maple.

@acer My results were from Maple 16.02.

@acer Can you explain the "true" results that I got?

That's very weird. Try doing a restart. You do not need to with anything to do basic arithmetic.

@tuvok1153 

First_Principle, as it's written, requires its argument to be a procedure (or appliable as a procedure); it will not (correctly) accept expressions. So, you need to use it like

First_Principle(x-> tan(x));  First_Principle(x-> sin(x)^2);

or

First_Principle(tan);  First_Principle(sin^2);

If you wish for it to work on expressions, it's a little more complicated to write:

First_Principle:= proc(f::algebraic, x::name)
local h, A:= Limit(simplify((eval(f, x= x+h)- f)/h), h= 0);
     A = value(A)
end proc:

First_Principle(tan(x), x);

Note that this requires you to pass, as the second argument, the variable with respect to which the derivative is being taken.

If you want it to work in either case, you could do this

First_Principle:= proc(f::{appliable,algebraic}, x::name)
local
     _X,
     h,
     A:= Limit(simplify(`if`(nargs=2, eval(f, x= x+h)-f, f(_X+h)-f(_X))/h), h= 0)
;
     A = value(A)
end proc:

First_Principle(tan);

First_Principle(tan(x), x);

First 521 522 523 524 525 526 527 Last Page 523 of 709