janhardo

700 Reputation

12 Badges

11 years, 65 days

MaplePrimes Activity


These are replies submitted by janhardo

============================================================













 


 

 

 

restart; with(DEtools); ode := diff(rho(xi), xi) = (xi*L^(-rho(xi))+varkappa+eta*L^rho(xi))/ln(L)

diff(rho(xi), xi) = (xi*L^(-rho(xi))+varkappa+eta*L^rho(xi))/ln(L)

(1)

 

Gamma := -4*eta*zeta+varkappa^2; sol1 := L^rho(xi) = -varkappa/(2*eta)+sqrt(-Gamma)*tan((1/2)*sqrt(-Gamma)*xi)/(2*eta); sol2 := L^rho(xi) = -varkappa/(2*eta)-sqrt(-Gamma)*cot((1/2)*sqrt(-Gamma)*xi)/(2*eta); rho_sol1 := solve(sol1, rho(xi)); rho_sol2 := solve(sol2, rho(xi))

-4*eta*zeta+varkappa^2

 

L^rho(xi) = -(1/2)*varkappa/eta+(1/2)*(4*eta*zeta-varkappa^2)^(1/2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)/eta

 

L^rho(xi) = -(1/2)*varkappa/eta-(1/2)*(4*eta*zeta-varkappa^2)^(1/2)*cot((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)/eta

 

ln((1/2)*((4*eta*zeta-varkappa^2)^(1/2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)-varkappa)/eta)/ln(L)

 

ln(-(1/2)*((4*eta*zeta-varkappa^2)^(1/2)+varkappa*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi))/(eta*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)))/ln(L)

(2)

sol3 := L^rho(xi) = -varkappa/(2*eta)+sqrt(Gamma)*tanh((1/2)*sqrt(Gamma)*xi)/(2*eta); sol4 := L^rho(xi) = -varkappa/(2*eta)-sqrt(Gamma)*coth((1/2)*sqrt(Gamma)*xi)/(2*eta); rho_sol3 := solve(sol3, rho(xi)); rho_sol4 := solve(sol4, rho(xi))

L^rho(xi) = -(1/2)*varkappa/eta+(1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*tanh((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi)/eta

 

L^rho(xi) = -(1/2)*varkappa/eta-(1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*coth((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi)/eta

 

ln((1/2)*((-4*eta*zeta+varkappa^2)^(1/2)*(exp((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi))^2-(exp((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi))^2*varkappa-(-4*eta*zeta+varkappa^2)^(1/2)-varkappa)/(eta*((exp((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi))^2+1)))/ln(L)

 

ln(-(1/2)*((-4*eta*zeta+varkappa^2)^(1/2)*(exp((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi))^2+(exp((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi))^2*varkappa+(-4*eta*zeta+varkappa^2)^(1/2)-varkappa)/(((exp((1/2)*(-4*eta*zeta+varkappa^2)^(1/2)*xi))^2-1)*eta))/ln(L)

(3)

 

 

 

ode1 := eval(ode, rho(xi) = rho_sol1); `assuming`([simplify(ode1)], [L > 0, L <> 1, eta <> 0, -4*eta*zeta+varkappa^2 < 0]); ode2 := eval(ode, rho(xi) = rho_sol2); `assuming`([simplify(ode2)], [L > 0, L <> 1, eta <> 0, -4*eta*zeta+varkappa^2 < 0])

(1/2)*(4*eta*zeta-varkappa^2)*(1+tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)^2)/(((4*eta*zeta-varkappa^2)^(1/2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)-varkappa)*ln(L)) = (xi*L^(-ln((1/2)*((4*eta*zeta-varkappa^2)^(1/2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)-varkappa)/eta)/ln(L))+varkappa+eta*L^(ln((1/2)*((4*eta*zeta-varkappa^2)^(1/2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)-varkappa)/eta)/ln(L)))/ln(L)

 

-2*(1+tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)^2)*(eta*zeta-(1/4)*varkappa^2)/((-(4*eta*zeta-varkappa^2)^(1/2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)+varkappa)*ln(L)) = (1/2)*((-4*eta*zeta+varkappa^2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)^2-4*xi*eta+varkappa^2)/((-(4*eta*zeta-varkappa^2)^(1/2)*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)+varkappa)*ln(L))

 

-2*(-(1/4)*varkappa*(4*eta*zeta-varkappa^2)^(1/2)*(1+tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)^2)/(eta*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi))+(1/4)*((4*eta*zeta-varkappa^2)^(1/2)+varkappa*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi))*(4*eta*zeta-varkappa^2)^(1/2)*(1+tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)^2)/(eta*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)^2))*eta*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)/(((4*eta*zeta-varkappa^2)^(1/2)+varkappa*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi))*ln(L)) = (xi*L^(-ln(-(1/2)*((4*eta*zeta-varkappa^2)^(1/2)+varkappa*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi))/(eta*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)))/ln(L))+varkappa+eta*L^(ln(-(1/2)*((4*eta*zeta-varkappa^2)^(1/2)+varkappa*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi))/(eta*tan((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)))/ln(L)))/ln(L)

 

-2*csc((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)*(eta*zeta-(1/4)*varkappa^2)/(ln(L)*(varkappa*sin((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)+(4*eta*zeta-varkappa^2)^(1/2)*cos((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi))) = (1/2)*(cot((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)^2*(-4*eta*zeta+varkappa^2)-4*xi*eta+varkappa^2)/(ln(L)*(varkappa+(4*eta*zeta-varkappa^2)^(1/2)*cot((1/2)*(4*eta*zeta-varkappa^2)^(1/2)*xi)))

(4)


 

Download clarifying_solving_new_ode_33-5-2025mprimes.mw


 

ode := diff(h(phi), phi) = (omega*f^(-h(phi))+mu+nu*f^h(phi))/ln(f); subs_rule := h(phi) = ln(y(phi))/ln(f); new_ode := eval(ode, subs_rule); riccati_ode := diff(y(phi), phi) = nu*y(phi)^2+mu*y(phi)+omega; y_solution := dsolve(riccati_ode, y(phi)); h_solution := ln(y(phi))/ln(f); specific_ode := eval(riccati_ode, {mu = -1, nu = 1, omega = 0}); y_solution_example := dsolve(specific_ode, y(phi)); h_solution_example := ln(rhs(y_solution_example))/ln(exp(1)); simplify(h_solution_example); -b

diff(h(phi), phi) = (omega*f^(-h(phi))+mu+nu*f^h(phi))/ln(f)

 

h(phi) = ln(y(phi))/ln(f)

 

(diff(y(phi), phi))/(y(phi)*ln(f)) = (omega*f^(-ln(y(phi))/ln(f))+mu+nu*f^(ln(y(phi))/ln(f)))/ln(f)

 

diff(y(phi), phi) = nu*y(phi)^2+mu*y(phi)+omega

 

y(phi) = -(1/2)*(mu-tan((1/2)*(-mu^2+4*nu*omega)^(1/2)*(c__1+phi))*(-mu^2+4*nu*omega)^(1/2))/nu

 

ln(y(phi))/ln(f)

 

diff(y(phi), phi) = y(phi)^2-y(phi)

 

y(phi) = 1/(1+exp(phi)*c__1)

 

ln(1/(1+exp(phi)*c__1))

 

ln(1/(1+exp(phi)*c__1))

(1)

 


 

Download ode_naar_riccati_type_ode3-5-2025_mprimes.mw

@vv 
I only raised A and B each to the second power, has nothing to do with : A^2 = B^2  does NOT imply A = B.

@mmcdara 
Is A=B ? 

diff(G(xi), xi) = A+B*G(xi)+C*G(xi)^2; Delta := 4*A*C-B^2; assume(C <> 0); assume(Delta > 0); G1 := (sqrt(Delta)*tan((1/2)*sqrt(Delta)*(d[0]+xi))-B)/(2*C); check1 := simplify(diff(G1, xi)-C*G1^2-B*G1-A); G2 := -(sqrt(Delta)*cot((1/2)*sqrt(Delta)*(d[0]+xi))+B)/(2*C); check2 := simplify(diff(G2, xi)-C*G2^2-B*G2-A); forget(Delta); assume(Delta < 0); G3 := -(sqrt(-Delta)*tanh((1/2)*sqrt(-Delta)*(d[0]+xi))+B)/(2*C); check3 := simplify(diff(G3, xi)-C*G3^2-B*G3-A)

diff(G(xi), xi) = A+B*G(xi)+C*G(xi)^2

 

4*A*C-B^2

 

(1/2)*((4*A*C-B^2)^(1/2)*tan((1/2)*(4*A*C-B^2)^(1/2)*(d[0]+xi))-B)/C

 

0

 

-(1/2)*((4*A*C-B^2)^(1/2)*cot((1/2)*(4*A*C-B^2)^(1/2)*(d[0]+xi))+B)/C

 

0

 

-(1/2)*((-4*A*C+B^2)^(1/2)*tanh((1/2)*(-4*A*C+B^2)^(1/2)*(d[0]+xi))+B)/C

 

0

(1)

restart; with(PDEtools); E := diff(G(xi), xi) = A+B*G(xi)+C*G(xi)^2; Delta := 4*A*C-B^2; assume(C <> 0); assume(Delta > 0); G1 := (sqrt(Delta)*tan((1/2)*sqrt(Delta)*(d[0]+xi))-B)/(2*C); odetest(G(xi) = G1, E); G2 := -(sqrt(Delta)*cot((1/2)*sqrt(Delta)*(d[0]+xi))+B)/(2*C); odetest(G(xi) = G2, E); forget(Delta); assume(Delta < 0); G3 := -(sqrt(-Delta)*tanh((1/2)*sqrt(-Delta)*(d[0]+xi))+B)/(2*C); odetest(G(xi) = G3, E)

(1/2)*((4*A*C-B^2)^(1/2)*tan((1/2)*(4*A*C-B^2)^(1/2)*(d[0]+xi))-B)/C

 

0

 

-(1/2)*((4*A*C-B^2)^(1/2)*cot((1/2)*(4*A*C-B^2)^(1/2)*(d[0]+xi))+B)/C

 

0

 

-(1/2)*((-4*A*C+B^2)^(1/2)*tanh((1/2)*(-4*A*C+B^2)^(1/2)*(d[0]+xi))+B)/C

 

0

(2)
 

Download ricatti_ode_3_oplossingen_mprimes_30-4-2025.mw

solve(x^2 = a, x); sqrt(a), -sqrt(a)


restart:
with(DEtools):

printf("📘 Step 1: Define the nonlinear ODE in Q(zeta):\n");
ode := (diff(Q(zeta), zeta))^2 - r^2*Q(zeta)^2*(a - b*Q(zeta) - l*Q(zeta)^2) = 0;

printf("\n📘 Step 2: Substitute Q = 1/u(zeta) to simplify the ODE:\n");
ode_u := simplify(eval(ode, Q(zeta) = 1/u(zeta)) * u(zeta)^4);

printf("\n📘 Step 3: Result after substitution and simplification:\n");
print(ode_u);

printf("\n📘 Step 4: Take the square root on both sides. Here, the ± symbol appears because (du/dzeta)^2 = ...:\n");
printf("When solving a square equation, you must take ± sqrt(...)\n");
printf("→ du/dzeta = ± r * sqrt(a*u^2 - b*u - l)\n");

printf("\n📘 Step 5: Separate variables and integrate, leading to a tanh-type solution:\n");
printf("∫ du / sqrt(a*u^2 - b*u - l) = ± r ∫ dzeta\n");

printf("\n📘 Step 6: After integration, you obtain a tanh-expression for u(zeta):\n");

# Specific solutions for + and -
u_specific_plus := b/(2*a) + sqrt(4*a*l + b^2)/(2*a)*tanh(r*sqrt(a)*zeta/2);
u_specific_minus := b/(2*a) - sqrt(4*a*l + b^2)/(2*a)*tanh(r*sqrt(a)*zeta/2);

printf("u_specific_plus (with + square root):\n");
print(u_specific_plus);
printf("u_specific_minus (with - square root):\n");
print(u_specific_minus);

printf("\n📘 Step 7: Solve for Q(zeta) = 1/u(zeta) for both cases:\n");

Q_sol_plus := simplify(1/u_specific_plus);
Q_sol_minus := simplify(1/u_specific_minus);

printf("Q_sol_plus (plus solution):\n");
print(Q_sol_plus);
printf("Q_sol_minus (minus solution):\n");
print(Q_sol_minus);

printf("\n📘 Step 8: Transform to exponential form using the tanh identity:\n");
printf("tanh(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))\n");

Q_exp_plus := 4*a/((4*a*l + b^2)*exp(r*sqrt(a)*zeta) - exp(-r*sqrt(a)*zeta) + 2*b);
Q_exp_minus := 4*a/((4*a*l + b^2)*exp(r*sqrt(a)*zeta) + exp(-r*sqrt(a)*zeta) + 2*b);

printf("Q_exp_plus (minus between exponentials):\n");
print(Q_exp_plus);
printf("Q_exp_minus (plus between exponentials):\n");
print(Q_exp_minus);

printf("\n📘 Step 9: Summary: the ± sign appears when taking the square root of (du/dzeta)^2.\n");
printf("Taking a square root always yields two solutions: +sqrt(...) and -sqrt(...).\n");
printf("Thus, there are two solution families for Q(zeta).\n");

printf("\n✅ Full derivation completed.\n");

Needs further be enhanced..

ContourVolledigFlexibelDynamisch := proc(R::numeric, r::numeric, centrum::list, polen::list)
    local theta, t, plotslist, pol, x, y, lbl, cx, cy, x_min, x_max, y_min, y_max, marge;
    uses plots, plottools;

    plotslist := []:

    # Centrum grote cirkel
    cx := centrum[1]:
    cy := centrum[2]:

    # Grote volledige cirkel
    theta := [seq(t, t=0..2*evalf(Pi), evalf(Pi/200))]:
    plotslist := [op(plotslist), curve([seq([R*cos(t)+cx, R*sin(t)+cy], t in theta)], color=blue, thickness=2)];

    # Rechte lijnen op assen
    plotslist := [op(plotslist),
                  line([-R-0.5+cx,0+cy],[R+0.5+cx,0+cy],color=black,thickness=1),
                  line([0+cx,-R-0.5+cy],[0+cx,R+0.5+cy],color=black,thickness=1)];

    # Kleine cirkels en labels toevoegen
    for pol in polen do
        x := pol[1]:
        y := pol[2]:
        lbl := pol[3]:

        plotslist := [op(plotslist),
                      circle([x,y], r, thickness=2, color=green),
                      textplot([x+0.2,y+0.2,lbl], font=[TIMES,12])];
    end do:

    # Labels voor Re en Im (assen)
    plotslist := [op(plotslist),
                  textplot([R+cx+0.5, 0+cy, "Re"], font=[TIMES,14]),
                  textplot([0+cx, R+cy+0.5, "Im"], font=[TIMES,14])];

    # Dynamisch venster instellen
    marge := max(1, R/5):
    x_min := cx - R - marge:
    x_max := cx + R + marge:
    y_min := cy - R - marge:
    y_max := cy + R + marge:

    # Alles tonen met automatisch schaal
    display(plotslist, scaling=constrained, axes=boxed, labels=["",""], view=[x_min..x_max, y_min..y_max], gridlines=true);
end proc:

ContourVolledigFlexibelDynamisch(2, 0.5, [0,0], [[0,1,"z=i"], [0,-1,"z=-i"]]);

 

ContourVolledigFlexibelDynamisch(2, 0.5, [1,1], [[2,2,"z=2+2i"], [0,1,"z=i"]]);

 
 

 

Download contourdiagram_cirkel_-2cirkels_mprimes_28-4-2025.mw

@dharr 
Of course to fill in as function type the procedure input

I also thought of it , only it didn't occur to me to do the function call with lowercase ...

Well done!, and it the procedure outcome exactly matches what I cumbersomely did in another procedure : ToLowerFunc := proc(expr), but maybe this one is still of use ?

 

@salim-barzani 

 

Use ND procedure than output as expression ,then procedure ToLowerFunc , then

restart;

ToLowerFunc := proc(expr)
    local replacements, vars, v, f_lower;
    
    replacements := {};
    vars := indets(expr, 'function');
    
    for v in vars do
        if type(op(0,v), name) then
            f_lower := parse(StringTools:-LowerCase(convert(op(0,v), string)));
            replacements := replacements union { op(0,v) = f_lower };
        end if;
    end do;
    
    return subs(replacements, expr);
end proc:


 

expr2:= diff(diff(F(x, y, z, t), x), y)*G(x, y, z, t) - diff(F(x, y, z, t), x)*diff(G(x, y, z, t), y) - diff(F(x, y, z, t), y)*diff(G(x, y, z, t), x) + F(x, y, z, t)*diff(diff(G(x, y, z, t), x), y);

(diff(diff(F(x, y, z, t), x), y))*G(x, y, z, t)-(diff(F(x, y, z, t), x))*(diff(G(x, y, z, t), y))-(diff(F(x, y, z, t), y))*(diff(G(x, y, z, t), x))+F(x, y, z, t)*(diff(diff(G(x, y, z, t), x), y))

(1)

ToLowerFunc(expr2);

(diff(diff(f(x, y, z, t), x), y))*g(x, y, z, t)-(diff(f(x, y, z, t), x))*(diff(g(x, y, z, t), y))-(diff(f(x, y, z, t), y))*(diff(g(x, y, z, t), x))+f(x, y, z, t)*(diff(diff(g(x, y, z, t), x), y))

(2)

restart;
with(PDEtools):
with(LinearAlgebra):
with(SolveTools):
undeclare(prime):
alias(F=F(x,y,z,t), G=G(x,y,z,t)):

`There is no more prime differentiation variable; all derivatives will be displayed as indexed functions`

(3)

diff(f(x, y, z, t), x, y)*g(x, y, z, t) - diff(f(x, y, z, t), x)*diff(g(x, y, z, t), y) - diff(f(x, y, z, t), y)*diff(g(x, y, z, t), x) + f(x, y, z, t)*diff(g(x, y, z, t), x, y);

(diff(diff(f(x, y, z, t), x), y))*g(x, y, z, t)-(diff(f(x, y, z, t), x))*(diff(g(x, y, z, t), y))-(diff(f(x, y, z, t), y))*(diff(g(x, y, z, t), x))+f(x, y, z, t)*(diff(diff(g(x, y, z, t), x), y))

(4)

 

 


 

Download kleine_letters_procedurND_uitvoer_omzettingmprines27-4-2025.mw

@salim-barzani 
It seems simple, but Maple processes these lowercase letters differently from the uppercase letters again as it seems?

A question for the maple specialists here

@salim-barzani 
To find  , a expression for  : L2, L3, L4, L5?..

@salim-barzani 
i substituted (32) into pde and it seems be correct. 
Substitute in L2  :after a11, a4, a9 are expressed in the other variables a
Substitute the numeric values , then we get ...

{a11 = -3*(a1^2 + a6^2)*(a1^3*a2 + a1^2*a6*a7 + a1*a2*a6^2 + a6^3*a7)/(a1^2*a7^2 - 2*a1*a2*a6*a7 + a2^2*a6^2), a4 = -(a1^3*alpha + a1^2*a2*beta + a1^2*a3*gamma + a1*a6^2*alpha + a2*a6^2*beta + a3*a6^2*gamma - 5*a1*a2^2 + 5*a1*a7^2 - 10*a2*a6*a7)/(9*(a1^2 + a6^2)), a9 = -(a1^2*a6*alpha + a1^2*a7*beta + a1^2*a8*gamma + a6^3*alpha + a6^2*a7*beta + a6^2*a8*gamma - 10*a1*a2*a7 + 5*a2^2*a6 - 5*a6*a7^2)/(9*(a1^2 + a6^2))}
First 7 8 9 10 11 12 13 Last Page 9 of 75