Carl Love

Carl Love

28015 Reputation

25 Badges

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

MaplePrimes Activity


These are replies submitted by Carl Love

@acer Yes, there was a worksheet attached to original Question, which is now gone. It wasn't me who edited it.

@acer The OP's original equation is at the top of this worksheet, assigned to eq. I added a few computations under that.
 

"with(Student[ODEs]):"

eq := (u(t)^3+1)*(t^2+1)^(n-1) = (diff(u(t), t))*(sum(((a*binomial(2*n, 2*i)*(-1)^i+c*binomial(n, i))*u(t)+b*binomial(2*n, 2*i)*(-1)^i+d*binomial(n, i))*t^(2*i), i = 0 .. n))

(u(t)^3+1)*(t^2+1)^(n-1) = (diff(u(t), t))*((1/2)*(u(t)*a+b)*(-(-t+I)^2)^n+(1/2)*(u(t)*a+b)*(-(t+I)^2)^n+(u(t)*c+d)*(t^2+1)^n)

dsolve(eq);

eval(subs(c=a, d= b, eq), n=4);

(u(t)^3+1)*(t^2+1)^3 = (diff(u(t), t))*((1/2)*(u(t)*a+b)*(-t+I)^8+(1/2)*(u(t)*a+b)*(t+I)^8+(u(t)*a+b)*(t^2+1)^4)

simplify(%);

(u(t)^3+1)*(t^2+1)^3 = 2*(diff(u(t), t))*(u(t)*a+b)*(t^2+2*t-1)^2*(t^2-2*t-1)^2

dsolve(%);

u(t) = (1/2)*3^(1/2)*tan(RootOf(2*3^(1/2)*ln(3/2+(1/2)*3^(1/2)*tan(_Z))*a*t^4-2*3^(1/2)*ln(3/2+(1/2)*3^(1/2)*tan(_Z))*b*t^4-3^(1/2)*ln(3/4+(3/4)*tan(_Z)^2)*a*t^4+3^(1/2)*ln(3/4+(3/4)*tan(_Z)^2)*b*t^4+3*3^(1/2)*_C1*t^4-6*_Z*a*t^4-6*_Z*b*t^4-12*3^(1/2)*ln(3/2+(1/2)*3^(1/2)*tan(_Z))*a*t^2+12*3^(1/2)*ln(3/2+(1/2)*3^(1/2)*tan(_Z))*b*t^2+6*3^(1/2)*ln(3/4+(3/4)*tan(_Z)^2)*a*t^2-6*3^(1/2)*ln(3/4+(3/4)*tan(_Z)^2)*b*t^2-18*3^(1/2)*_C1*t^2-3*3^(1/2)*t^3+36*_Z*a*t^2+36*_Z*b*t^2+2*3^(1/2)*ln(3/2+(1/2)*3^(1/2)*tan(_Z))*a-2*3^(1/2)*ln(3/2+(1/2)*3^(1/2)*tan(_Z))*b-3^(1/2)*ln(3/4+(3/4)*tan(_Z)^2)*a+3^(1/2)*ln(3/4+(3/4)*tan(_Z)^2)*b+3*3^(1/2)*_C1+3*3^(1/2)*t-6*_Z*a-6*_Z*b))+1/2

 

Download Abel.mw

@Steven_Huang I think that some progress can be made on this problem if you reduce the number of parameters. Setting c= a and d= b and solving for specific values of n seems promising. 

@Steven_Huang Consider n=1 first. Letting ode be your equation, do 

dsolve(simplify(eval(ode, n=1)));

Considering the complexity of that solution, what's likely to happen for n > 1?

@dharr Suppose that we have a system that can be in any of n discrete states, each with probability p[k]. Under Shannon's definition, the (informational) entropy of the system is

H(X) = -sum(p[k]*log(p[k]), k= 1..n)

where could be infinity, k could start at 0 if that's more convenient, and the base of the logarithm doesn't really matter---both ln and log[2] are commonly used. The final result that you showed is thus the entropy of a system with two possible states, one of which has probability theta. In the language of probability distributions, it's Bernoulli(theta).

The sum that I showed is what the OP wants to calculate, where, presumably, there's some explicit formula for p[k], but n is arbitrary.

I suspect that "rectangle" is a bad translation into English of something that should've been translated to either right or right-angle. A rectangle is a planar polygon with 4 vertices and 4 right angles. Bisecting a rectangle along a diagonal produces 2 congruent right triangles.

Maple has quite substantial functionality for date and time arithmetic (DateTimeClock, Calendar, etc.) so I think it very likely that it has what you want. But I don't know what "JS" means. Perhaps Julian second?

I just shortened the code of ConormalProduct by 8 lines. Perhaps that'll make it easier to understand.

At this point, I suspect that this bug only happens when coercion is used with keyword parameters. I also suspect that there's nothing special here about modules or objects; the bug comes from mixing these three things: keyword parameters, coercion, and the debugger.

These are only guesses.

@ijuptilk Another option is to replace the for or seq with this single line:

w:= gamma__1*alpha/~(4*k__1*~qq^~2/d^2-~alpha__3*xi/eta__1);

This is called elementwise operation: acting on all the elements of a list (qq) in a single operation. Note that this also eliminates the need for m.

What do you want the procedure to output/return? If you want some plots, your procedure doesn't have any plot commands to return. Do you want to return the 30 values of w? In its current form, the procedure only returns the 30th value of w, but it could be easily modified to return them all.

@nm Okay, I got the error. It seems like the debugger does not respect that ':-ic' is an unassigned global symbol. That is shown by the keyword argument becoming [ ]= [ ] as seen in the error message. And I agree that that lack of respect has something to do with using either form of coercion with a keyword parameter.

@vs140580 Yes, there's some new syntax in Maple 2022. Try this:

restart
:
RelationGraph:= proc(f, V::list({integer, symbol, string}))
local n:= {$1..nops(V)}, i, F:= i-> j-> f(V[i],V[j]);
    GraphTheory:-Graph(V, [seq](select(F(i), n, _rest), i= n))
end proc
:
ConormalProduct:= proc(
    G::Graph, H::Graph, {vertex_format::{string, symbol}:= "%A:%A"}
)
local Vg, Vh, E, P, i, j, Vgh, J;
    (Vg,Vh):= GraphTheory:-Vertices~([G,H])[];
    E:= op~(4, [G,H]);
    P:= [seq](seq([i,j], j= 1..nops(Vh)), i= 1..nops(Vg));
    Vgh:= (curry(sprintf, vertex_format)@((i,j)-> (Vg[i],Vh[j]))@op)~(P);
    J:= op~(table(Vgh=~ P));
    RelationGraph((a,b)-> ormap(i-> J[b][i] in E[i][J[a][i]], [1,2]), Vgh)
end proc
:

 

@nm Once you're in the debugger, what commands do you give to produce the error message? I've never used this, or any other, debugger.

@Alger Okay, your matrix is not truly tridiagonal, and, of course, I didn't see that you said that. So, the tridiagonal solver won't work, at least not directly. 

Is this true?: The nonzero entries are primarily on the 3 principal diagonals; there are "a few" elsewhere. If so, how many is "a few"? What is their pattern, if any?

First 78 79 80 81 82 83 84 Last Page 80 of 708