janhardo

690 Reputation

12 Badges

11 years, 36 days

MaplePrimes Activity


These are replies submitted by janhardo

@salim-barzani 
i stay at this lump example This question is related to the Question How find line for plotting ?   i 
 

The former derivation of y (x) =-x /a  is for another physical situation for the 1 -lump and is not there to find in the presented pdf example of the 1 lump 
This is the trajectory equation for the 1 lump example 
For every 1 lump  :

For every lump number i jyou get always a straight  trajectory 


 

restart;
declare(x, y, t, alpha, beta, a, b, C);

# Step 1: Explicitly define the correct KP transformations
Xc := simplify((x - alpha*beta*t/(alpha^2 + b^2)));
Yc := simplify((y + beta*x/(alpha^2 + b^2)));

# Step 2: Directly apply the correct KP-theory condition for the peak:
eq_traj := simplify(Yc = C);

# Step 3: Solve explicitly for y
traj_solution := solve(eq_traj, y);

# Expected KP trajectory (directly defined):
expected_traj := -beta/(alpha^2 + b^2)*x + C;

# Compute the difference between both expressions:
difference := simplify(traj_solution - expected_traj);

# Display results:
printf("Derived trajectory equation:\n");
traj_solution;
printf("Expected KP-theory trajectory equation:\n");
expected_traj;
printf("Difference between both expressions (should be 0):\n");
difference;

declare(x, y, t, alpha, beta, a, b, C)

 

x-alpha*beta*t/(alpha^2+b^2)

 

y+beta*x/(alpha^2+b^2)

 

y+beta*x/(alpha^2+b^2) = C

 

(C*alpha^2+C*b^2-beta*x)/(alpha^2+b^2)

 

C-beta*x/(alpha^2+b^2)

 

0

 

Derived trajectory equation:

 

(C*alpha^2+C*b^2-beta*x)/(alpha^2+b^2)

 

Expected KP-theory trajectory equation:

 

C-beta*x/(alpha^2+b^2)

 

Difference between both expressions (should be 0):

 

0

(1)

 


 

Download 1_lump_tractory_derived_23-2-2025_mprmes.mw






 

I don't know which lump example your code belongs for ? 
but try posting it to your earlier question if this is the case.
Now I have to go back and look at your lump examples again

The lump trajectory follows the peak of the lump.

@salim-barzani 
For this type of lump soliton b= 0 ( can be derived )
The solution for the trajectory function of the lumps... 
 

restart;
with(PDEtools):

# Define the denominator N as an expression in x and y
N := (b^4*y^2 + (a*y + x)^2*b^2 + 3*a^2)^2;

# Compute partial derivatives treating y as a variable
Nx := diff(N, x):
Ny := diff(N, y):

# Substitute y -> y(x) and form the implicit ODE
diff_eq := eval(Nx, y = y(x)) + eval(Ny, y = y(x)) * diff(y(x), x) = 0:

# Solve for dy/dx explicitly before setting b = 0
dy_dx := solve(diff_eq, diff(y(x), x));

# Now, substitute b = 0 AFTER solving for dy/dx
dy_dx_real := subs(b = 0, dy_dx);

# Solve the ODE explicitly for y(x)
explicit_solution := dsolve({diff(y(x), x) = dy_dx_real, y(0) = 0}, y(x));

# Ensure final simplification
explicit_solution := simplify(explicit_solution);

# Print final real-valued solution
printf("Final real-valued explicit solution for y(x) with b = 0:\n");
explicit_solution;

It is not that difficult:
All questions on a particular pde/topic should stay together in one question.on the forum.
Use the sections in Maple to organise and store your own questions and keep track of them and add your own study prompts.
Ctrl + period ( windows) on the computer keyboard creates a section in the worksheet and subsections can also be created.
Organise your questions to keep track of them.

Note: May be the moderator has collected all your questions by date and can determine exactly if your new question does not appear in his list ...

@salim-barzani yes, you could delete this question of yours, my contribution is minimal and have no problem with it if you want to delete this question and repost it , but now with a more comprehensive question statement 

@salim-barzani I understand that you would like to see the formulas in the information pdfs, but I can't do that easily yet
Now you basically just have to calculate through to a final result and try to get it in the desired format via formula massage 
 

# Step 1: Definieer x' en y' as symbols with backticks
`x'`, `y'`;

This if you want to try to follow the same notation

@salim-barzani 

 

# Stap 1: Definieer theta_i en B[12]
theta[1] := x + l[1]*y - (alpha + beta/l[1])*t;
theta[2] := x + l[2]*y - (alpha + beta/l[2])*t;
B[12] := (6*l[1]*l[2]*(l[1] + l[2])) / (beta*(l[1] - l[2])^2);

# Stap 2: Definieer f[2]
f[2] := theta[1]*theta[2] + B[12];

# Stap 3: Definieer l[1] = a + I*b en l[2] = conjugate(l[1])
l[1] := a + I*b;          # Eerst l[1] definiëren
l[2] := conjugate(l[1]);  # Daarna l[2] als complexe conjugaat

# Stap 4: Vereenvoudig f[2] met aannames
f[2] := simplify(f[2]) assuming a::real, b::real, alpha::real, beta::real;

# Stap 5: Definieer x' en y'
x_prime := x - (alpha*a^2 + 2*beta*a + a*b^2)/(a^2 + b^2)*t;
y_prime := y + beta/(a^2 + b^2)*t;

# Stap 6: Herschrijf f[2] (Formule 11)
f_herschreven := expand((x_prime + a*y_prime)^2 + (b*y_prime)^2 - 3*a*(a^2 + b^2)/(beta*b^2));

# Stap 7: Bereken u (Formule 12)
u := -4*(x_prime + a*y_prime) / ((x_prime + a*y_prime)^2 + (b*y_prime)^2 - 3*a*(a^2 + b^2)/(beta*b^2));


This seems to be not correct ? , must be this 
to derive the 


# Step 1: Define the velocity components v_x and v_y
v_x := (a*alpha^2 + 2*beta*a + a*b^2)/(a^2 + b^2);
v_y := -beta/(a^2 + b^2);

# Step 2: Eliminate time t from x(t) = x0 + v_x t and y(t) = y0 + v_y t
t := (x - x0)/v_x;  # Solve for t from x(t)
y := y0 + v_y * t;  # Substitute t into y(t)

# Step 3: Simplify the equation for y(x)
y := simplify(y) assuming a::real, b::real, beta::real, a^2 + b^2 > 0;

# Step 4: Determine the starting point (x0, y0) via the minimum of the denominator of u(x,y,t)
# The denominator is minimal when x' + a y' = 0 and y' = 0 (center of the lump)
x0 := -sqrt(-3*a*(a^2 + b^2)/(beta*b^2));  # From the term under the square root
y0 := 0;

# Step 5: Substitute x0 and y0 into y(x)
propagation_line := y = -beta/(a*(a^2 + 2*beta + b^2)) * (x + sqrt(-3*a*(a^2 + b^2)/(beta*b)));

# Step 6: Simplify and display the result
propagation_line := simplify(propagation_line) assuming a::real, b::real, beta::real, a/beta < 0;

@salim-barzani  To me, it was quite clear in the initial question you asked, that you start with the simplest case first : the 1-lump soliton. 
Was quite clear that you always start with the simplest case that is a rule. ( from easy to difficult )
Which already raises enough questions.
Perhaps you thought to make it simpler that way and only now come up with the 1-lump information?
No, you got this wrong.

Thought I had already calculated this the evolutionary course of 3 solitons waves in that deleted worksheet.
This is a straight line this trajectory of motion of the 3 lump solitons and what should it take for the 3 solitons to follow a non-straight line?

@salim-barzani

This is indeed a- social to delete my response because you think this is not correct answer. 
I gave an image with a link to a maple file for information, so minimal. 
 That 1st question was asked clearly enough by you and you could have added own code yourself later as an update and an information update below it. 
Your own input is also minimal by copying some code from the pdf and itself fails to really clearly describe what you want to solve and remains vague. 
Do you expect there to be physicists here who can solve your issues just like that with Maple?

@salim-barzani 
Now with this checking to get  the equation for the 3 1-lump solitons ?

restart;
with(LinearAlgebra):

# Definieer de procedure
CollectiveMotion := proc(m, params)
    local i, x, y, t, a, b, alpha, beta, vx, vy, avg_vx, avg_vy, avg_a, eqn, collective_line:
    
    avg_vx := 0:
    avg_vy := 0:
    avg_a := 0:
    
    for i from 1 to m do
        # Extraheer parameters voor de i-de lump
        a := params[i][1]:
        b := params[i][2]:
        alpha := params[i][3]:
        beta := params[i][4]:
        
        # Bereken individuele snelheden
        vx := (a*a^2 + 2*beta*a + alpha*b^2) / (a^2 + b^2):
        vy := beta / (a^2 + b^2):
        
        # Gemiddelde snelheden en a-waarden accumuleren
        avg_vx := avg_vx + vx:
        avg_vy := avg_vy + vy:
        avg_a := avg_a + a:
    end do:
    
    # Gemiddelden nemen
    avg_vx := avg_vx / m:
    avg_vy := avg_vy / m:
    avg_a := avg_a / m:

    # Definieer de gezamenlijke bewegingslijn
    eqn := (x - avg_vx * t) + avg_a * (y - avg_vy * t) = 0:
    
    # Oplossen naar y
    collective_line := solve(eqn, y):
    
    return collective_line:
end proc:

# Voorbeeld: 3 lumps met verschillende parameters
CollectiveMotion(3, [[1, 1, 1, 1], [2, 1, 1, 2], [1, 2, 2, 1]]);


 

New updated procedure odegeniter () 4-3-2025 
- specify a parameter list to the procedure.
- if the ode is not defined, it is not shown in the Dataframe list

 

 

 

 


    

odegeniter := proc(V, t, y, differential_eq, param_list, solve_all, range)
    local params, eq, numrows, i, single_row, dataframe, param_names;
    local param_values, param_combination, p, generate_combinations, param_combinations, j, solution, all_zero, invalid_combination, total_combinations, valid_combinations;
    local rows, row_eqs, max_combinations, num_params;
    uses PDEtools;

    if not has(differential_eq, diff(y(t), t)) then
        error "The input must contain a differential equation with diff(y(t), t).";
    end if;

    if not (solve_all = true or solve_all = false) then
        error "solve_all must be true or false.";
    end if;

    if not (range = "all" or range = 'all' or type(range, nonnegint) or type(range, range)) then
        error "range must be 'all', a non-negative integer, or a valid range (e.g., 0..5).";
    end if;

    # Controleer of de parameterlijst correct is
    if not (type(param_list, list) and nops(param_list) > 0) then
        error "The parameter list must be a list containing at least one parameter name.";
    end if;

    # Zoek de parameters in de differentiaalvergelijking
    params := select(p -> member(p, param_list), indets(differential_eq));
    param_names := convert(params, list);
    num_params := nops(param_names);

    if num_params = 0 then
        error "No parameters from the given list were found in the differential equation.";
    end if;

    generate_combinations := proc(variables, values)
        local result, i, sub_combinations, v;
        if nops(variables) = 0 then
            return [[]];
        end if;
        result := [];
        for v in values do
            sub_combinations := generate_combinations(variables[2..-1], values);
            for i to nops(sub_combinations) do
                result := [op(result), [v, op(sub_combinations[i])]];
            end do;
        end do;
        return result;
    end proc;

    param_combinations := generate_combinations(param_names, V);
    max_combinations := nops(param_combinations);

    if max_combinations = 0 then
        error "No parameter combinations generated. Check the input values.";
    end if;

    printf("�� Expected total rows before filtering: %d\n", max_combinations);

    valid_combinations := 0;
    rows := Array(1..max_combinations, 1..(num_params + 3), datatype=anything);
    row_eqs := Array(1..max_combinations, datatype=anything);

    for i from 1 to max_combinations do
        param_combination := param_combinations[i];
        eq := differential_eq;

        # Controleer op ongeldige parameter combinaties
        all_zero := true;
        invalid_combination := false;

        for j to num_params do
            if param_combination[j] <> 0 then
                all_zero := false;
            end if;
            # **Voorkom deling door nul in de differentiaalvergelijking**
            if (param_names[j] = xi and param_combination[j] = 0) or
               (param_names[j] = omega and param_combination[j] = 0) then
                invalid_combination := true;
            end if;
        end do;

        if all_zero then
            printf("⚠️ Row %d skipped: Differential equation is undefined (all parameters = 0).\n", i-1);
            next;
        end if;

        if invalid_combination then
            printf("⚠️ Row %d skipped: Invalid parameter combination (division by zero detected).\n", i-1);
            next;
        end if;

        # **Voer substitutie uit als de combinatie geldig is**
        for j to num_params do
            p := param_names[j];
            eq := subs(p = param_combination[j], eq);
        end do;

        eq := simplify(eq);

        valid_combinations := valid_combinations + 1;
        rows[valid_combinations, 1] := valid_combinations - 1;
        for j to num_params do
            rows[valid_combinations, j+1] := param_combination[j];
        end do;
        rows[valid_combinations, num_params + 2] := eq;
        rows[valid_combinations, num_params + 3] := "";  
        row_eqs[valid_combinations] := eq;
    end do;

    numrows := valid_combinations;
    printf(" Valid rows after filtering: %d\n", numrows);

    if numrows = 0 then
        error "No valid parameter combinations remain after filtering out undefined ODE cases.";
    end if;

    if solve_all = true and (range = "all" or range = 'all') then
        printf("�� Generating full DataFrame...\n");
        for i from 1 to numrows do
            try
                solution := simplify(rhs(dsolve(row_eqs[i], y(t))));
                rows[i, num_params + 3] := solution;
            catch:
                rows[i, num_params + 3] := "No explicit solution";
            end try;
        end do;

        dataframe := DataFrame(
            Matrix(rows[1..numrows, 1..(num_params + 3)], datatype=anything),
            columns = ['Row', op(param_names), 'Equation', 'Solution']
        );
        return dataframe;

    elif solve_all = true and type(range, nonnegint) then
        printf("�� Fetching row %d...\n", range);
        if range >= numrows then
            error "Index out of range: There are only " || numrows || " valid rows (indices 0.." || (numrows-1) || ").";
        end if;

        single_row := rows[range+1, 1..(num_params + 3)];

        dataframe := DataFrame(
            Matrix([single_row], datatype=anything),
            columns = ['Row', op(param_names), 'Equation', 'Solution']
        );
        return dataframe;

    else
        error "Invalid combination of solve_all and range.";
    end if;
end proc:

V :=[1];
differential_eq := diff(y(t), t) = alpha * y(t) + beta * t + delta + sin(t)/xi - 2/omega;
param_list := [alpha, beta, delta, xi, omega];

result := odegeniter(V, t, y, differential_eq, param_list, true, all);

V := [1]

 

differential_eq := diff(y(t), t) = alpha*y(t)+beta*t+delta+sin(t)/xi-2/omega

 

param_list := [alpha, beta, delta, xi, omega]

 

�� Expected total rows before filtering: 1
Valid rows after filtering: 1
�� Generating full DataFrame...

 

module DataFrame () description "two-dimensional rich data container"; local columns, rows, data, binder; option object(BaseDataObject); end module

(1)

V := [ Pi, exp(1), 1/2, sqrt(2)];

differential_eq := diff(y(t), t) = alpha * y(t) + beta * t + delta + sin(t)/xi - 2/omega;
param_list := [alpha, beta, delta, xi, omega];

result := odegeniter(V, t, y, differential_eq, param_list, true, all);
 

V := [Pi, exp(1), 1/2, sqrt(2)]

 

differential_eq := diff(y(t), t) = alpha*y(t)+beta*t+delta+sin(t)/xi-2/omega

 

param_list := [alpha, beta, delta, xi, omega]

 

�� Expected total rows before filtering: 1024
Valid rows after filtering: 1024
�� Generating full DataFrame...

 

module DataFrame () description "two-dimensional rich data container"; local columns, rows, data, binder; option object(BaseDataObject); end module

(2)

 


 

Download odegeniter_proc-lijst_var_keuze_en_ongedefinieerd_4-3-2025.mw

@salim-barzani 
Hadn't you already asked this in an earlier question on the forum ?
Aren't you mixing up two questions now ?
That will go wrong then .

Compared to my solution with that other solution via @dharr, this is simple.
It is not yet fully understood...


 

restart

with(PDEtools)

with(LinearAlgebra)

NULL

with(SolveTools)

undeclare(prime)

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

(1)

declare(u(x, t))

u(x, t)*`will now be displayed as`*u

(2)

declare(w(x, t))

w(x, t)*`will now be displayed as`*w

(3)


 

KdV := diff(u(x, t), t)+u(x, t)*(diff(u(x, t), x))+delta*(diff(u(x, t), x, x, x)) = 0

 

diff(u(x, t), t)+u(x, t)*(diff(u(x, t), x))+delta*(diff(diff(diff(u(x, t), x), x), x)) = 0

(4)

u_sol := a20*(diff(ln(w(x, t)), x, x))+a10*(diff(ln(w(x, t)), x))+a00

a20*((diff(diff(w(x, t), x), x))/w(x, t)-(diff(w(x, t), x))^2/w(x, t)^2)+a10*(diff(w(x, t), x))/w(x, t)+a00

(5)

u_t := diff(u_sol, t); u_x := diff(u_sol, x); u_xxx := diff(u_sol, x, x, x)

 

a20*((diff(diff(diff(w(x, t), t), x), x))/w(x, t)-(diff(diff(w(x, t), x), x))*(diff(w(x, t), t))/w(x, t)^2-2*(diff(w(x, t), x))*(diff(diff(w(x, t), t), x))/w(x, t)^2+2*(diff(w(x, t), x))^2*(diff(w(x, t), t))/w(x, t)^3)+a10*(diff(diff(w(x, t), t), x))/w(x, t)-a10*(diff(w(x, t), x))*(diff(w(x, t), t))/w(x, t)^2

 

a20*((diff(diff(diff(w(x, t), x), x), x))/w(x, t)-3*(diff(diff(w(x, t), x), x))*(diff(w(x, t), x))/w(x, t)^2+2*(diff(w(x, t), x))^3/w(x, t)^3)+a10*(diff(diff(w(x, t), x), x))/w(x, t)-a10*(diff(w(x, t), x))^2/w(x, t)^2

 

a20*((diff(diff(diff(diff(diff(w(x, t), x), x), x), x), x))/w(x, t)-5*(diff(diff(diff(diff(w(x, t), x), x), x), x))*(diff(w(x, t), x))/w(x, t)^2+20*(diff(diff(diff(w(x, t), x), x), x))*(diff(w(x, t), x))^2/w(x, t)^3-10*(diff(diff(diff(w(x, t), x), x), x))*(diff(diff(w(x, t), x), x))/w(x, t)^2-60*(diff(diff(w(x, t), x), x))*(diff(w(x, t), x))^3/w(x, t)^4+30*(diff(diff(w(x, t), x), x))^2*(diff(w(x, t), x))/w(x, t)^3+24*(diff(w(x, t), x))^5/w(x, t)^5)+a10*(diff(diff(diff(diff(w(x, t), x), x), x), x))/w(x, t)-4*a10*(diff(diff(diff(w(x, t), x), x), x))*(diff(w(x, t), x))/w(x, t)^2+12*a10*(diff(diff(w(x, t), x), x))*(diff(w(x, t), x))^2/w(x, t)^3-3*a10*(diff(diff(w(x, t), x), x))^2/w(x, t)^2-6*a10*(diff(w(x, t), x))^4/w(x, t)^4

(6)

substituted_KdV := eval(KdV, [u(x, t) = u_sol, diff(u(x, t), t) = u_t, diff(u(x, t), x) = u_x, diff(u(x, t), x, x, x) = u_xxx])

 

a20*((diff(diff(diff(w(x, t), t), x), x))/w(x, t)-(diff(diff(w(x, t), x), x))*(diff(w(x, t), t))/w(x, t)^2-2*(diff(w(x, t), x))*(diff(diff(w(x, t), t), x))/w(x, t)^2+2*(diff(w(x, t), x))^2*(diff(w(x, t), t))/w(x, t)^3)+a10*(diff(diff(w(x, t), t), x))/w(x, t)-a10*(diff(w(x, t), x))*(diff(w(x, t), t))/w(x, t)^2+(a20*((diff(diff(w(x, t), x), x))/w(x, t)-(diff(w(x, t), x))^2/w(x, t)^2)+a10*(diff(w(x, t), x))/w(x, t)+a00)*(a20*((diff(diff(diff(w(x, t), x), x), x))/w(x, t)-3*(diff(diff(w(x, t), x), x))*(diff(w(x, t), x))/w(x, t)^2+2*(diff(w(x, t), x))^3/w(x, t)^3)+a10*(diff(diff(w(x, t), x), x))/w(x, t)-a10*(diff(w(x, t), x))^2/w(x, t)^2)+delta*(a20*((diff(diff(diff(diff(diff(w(x, t), x), x), x), x), x))/w(x, t)-5*(diff(diff(diff(diff(w(x, t), x), x), x), x))*(diff(w(x, t), x))/w(x, t)^2+20*(diff(diff(diff(w(x, t), x), x), x))*(diff(w(x, t), x))^2/w(x, t)^3-10*(diff(diff(diff(w(x, t), x), x), x))*(diff(diff(w(x, t), x), x))/w(x, t)^2-60*(diff(diff(w(x, t), x), x))*(diff(w(x, t), x))^3/w(x, t)^4+30*(diff(diff(w(x, t), x), x))^2*(diff(w(x, t), x))/w(x, t)^3+24*(diff(w(x, t), x))^5/w(x, t)^5)+a10*(diff(diff(diff(diff(w(x, t), x), x), x), x))/w(x, t)-4*a10*(diff(diff(diff(w(x, t), x), x), x))*(diff(w(x, t), x))/w(x, t)^2+12*a10*(diff(diff(w(x, t), x), x))*(diff(w(x, t), x))^2/w(x, t)^3-3*a10*(diff(diff(w(x, t), x), x))^2/w(x, t)^2-6*a10*(diff(w(x, t), x))^4/w(x, t)^4) = 0

(7)

simplified_KdV := simplify(substituted_KdV); numerator_KdV := numer(lhs(simplified_KdV))

 

((diff(diff(diff(diff(diff(w(x, t), x), x), x), x), x))*w(x, t)^4*a20*delta+delta*w(x, t)^3*(a10*w(x, t)-5*a20*(diff(w(x, t), x)))*(diff(diff(diff(diff(w(x, t), x), x), x), x))+(a20*w(x, t)*(a20-10*delta)*(diff(diff(w(x, t), x), x))-a20*(a20-20*delta)*(diff(w(x, t), x))^2+a10*w(x, t)*(a20-4*delta)*(diff(w(x, t), x))+a00*a20*w(x, t)^2)*w(x, t)^2*(diff(diff(diff(w(x, t), x), x), x))+(diff(diff(diff(w(x, t), t), x), x))*w(x, t)^4*a20+w(x, t)^2*(-3*a20*(a20-10*delta)*(diff(w(x, t), x))+a10*w(x, t)*(a20-3*delta))*(diff(diff(w(x, t), x), x))^2+(5*a20*(a20-12*delta)*(diff(w(x, t), x))^3-5*a10*(a20-(12/5)*delta)*w(x, t)*(diff(w(x, t), x))^2+(-3*a00*a20+a10^2)*w(x, t)^2*(diff(w(x, t), x))+w(x, t)^2*(a00*a10*w(x, t)-a20*(diff(w(x, t), t))))*w(x, t)*(diff(diff(w(x, t), x), x))+(a10*w(x, t)^4-2*a20*w(x, t)^3*(diff(w(x, t), x)))*(diff(diff(w(x, t), t), x))-(2*a20*(a20-12*delta)*(diff(w(x, t), x))^4-3*a10*w(x, t)*(a20-2*delta)*(diff(w(x, t), x))^3+(-2*a00*a20+a10^2)*w(x, t)^2*(diff(w(x, t), x))^2+w(x, t)^2*(a00*a10*w(x, t)-2*a20*(diff(w(x, t), t)))*(diff(w(x, t), x))+a10*w(x, t)^3*(diff(w(x, t), t)))*(diff(w(x, t), x)))/w(x, t)^5 = 0

 

-w(x, t)^2*(diff(w(x, t), x))^3*a10^2+24*(diff(w(x, t), x))^5*a20*delta+(diff(diff(diff(diff(diff(w(x, t), x), x), x), x), x))*w(x, t)^4*a20*delta-a10*(diff(w(x, t), x))*(diff(w(x, t), t))*w(x, t)^3-2*(diff(w(x, t), x))^5*a20^2-5*w(x, t)^3*(diff(w(x, t), x))*(diff(diff(diff(diff(w(x, t), x), x), x), x))*a20*delta-3*w(x, t)^3*(diff(w(x, t), x))*(diff(diff(w(x, t), x), x))*a00*a20+w(x, t)^3*(diff(w(x, t), x))*(diff(diff(diff(w(x, t), x), x), x))*a10*a20-4*w(x, t)^3*(diff(w(x, t), x))*(diff(diff(diff(w(x, t), x), x), x))*a10*delta-10*w(x, t)^3*(diff(diff(w(x, t), x), x))*(diff(diff(diff(w(x, t), x), x), x))*a20*delta-5*w(x, t)^2*(diff(w(x, t), x))^2*(diff(diff(w(x, t), x), x))*a10*a20+12*w(x, t)^2*(diff(w(x, t), x))^2*(diff(diff(w(x, t), x), x))*a10*delta+20*w(x, t)^2*(diff(w(x, t), x))^2*(diff(diff(diff(w(x, t), x), x), x))*a20*delta+30*w(x, t)^2*(diff(w(x, t), x))*(diff(diff(w(x, t), x), x))^2*a20*delta-60*w(x, t)*(diff(w(x, t), x))^3*(diff(diff(w(x, t), x), x))*a20*delta-3*w(x, t)^3*(diff(diff(w(x, t), x), x))^2*a10*delta+w(x, t)^3*(diff(diff(w(x, t), x), x))*(diff(diff(diff(w(x, t), x), x), x))*a20^2+2*w(x, t)^2*(diff(w(x, t), x))^3*a00*a20-w(x, t)^2*(diff(w(x, t), x))^2*(diff(diff(diff(w(x, t), x), x), x))*a20^2-3*w(x, t)^2*(diff(w(x, t), x))*(diff(diff(w(x, t), x), x))^2*a20^2+3*w(x, t)*(diff(w(x, t), x))^4*a10*a20-6*w(x, t)*(diff(w(x, t), x))^4*a10*delta+5*w(x, t)*(diff(w(x, t), x))^3*(diff(diff(w(x, t), x), x))*a20^2-2*w(x, t)^3*(diff(w(x, t), x))*(diff(diff(w(x, t), t), x))*a20-w(x, t)^3*(diff(diff(w(x, t), x), x))*(diff(w(x, t), t))*a20+2*w(x, t)^2*(diff(w(x, t), x))^2*(diff(w(x, t), t))*a20+w(x, t)^4*(diff(diff(diff(diff(w(x, t), x), x), x), x))*a10*delta+w(x, t)^4*(diff(diff(w(x, t), x), x))*a00*a10+w(x, t)^4*(diff(diff(diff(w(x, t), x), x), x))*a00*a20-w(x, t)^3*(diff(w(x, t), x))^2*a00*a10+w(x, t)^3*(diff(w(x, t), x))*(diff(diff(w(x, t), x), x))*a10^2+w(x, t)^3*(diff(diff(w(x, t), x), x))^2*a10*a20+(diff(diff(diff(w(x, t), t), x), x))*w(x, t)^4*a20+a10*(diff(diff(w(x, t), t), x))*w(x, t)^4

(8)

temp_sub := {diff(w(x, t), x) = Wx, w(x, t) = w_temp}; numerator_sub := subs(temp_sub, numerator_KdV)

 

{diff(w(x, t), x) = Wx, w(x, t) = w_temp}

 

-5*w_temp^3*Wx*(diff(diff(diff(Wx, x), x), x))*a20*delta-3*w_temp^3*Wx*(diff(Wx, x))*a00*a20+w_temp^3*Wx*(diff(diff(Wx, x), x))*a10*a20-4*w_temp^3*Wx*(diff(diff(Wx, x), x))*a10*delta-10*w_temp^3*(diff(Wx, x))*(diff(diff(Wx, x), x))*a20*delta-5*w_temp^2*Wx^2*(diff(Wx, x))*a10*a20+12*w_temp^2*Wx^2*(diff(Wx, x))*a10*delta+20*w_temp^2*Wx^2*(diff(diff(Wx, x), x))*a20*delta+30*w_temp^2*Wx*(diff(Wx, x))^2*a20*delta-60*w_temp*Wx^3*(diff(Wx, x))*a20*delta-2*Wx^5*a20^2+a10*(diff(diff(w_temp, t), x))*w_temp^4+(diff(diff(diff(w_temp, t), x), x))*w_temp^4*a20+24*Wx^5*a20*delta-w_temp^2*Wx^3*a10^2+(diff(diff(diff(diff(Wx, x), x), x), x))*w_temp^4*a20*delta-a10*Wx*(diff(w_temp, t))*w_temp^3-3*w_temp^3*(diff(Wx, x))^2*a10*delta+w_temp^3*(diff(Wx, x))*(diff(diff(Wx, x), x))*a20^2+2*w_temp^2*Wx^3*a00*a20-w_temp^2*Wx^2*(diff(diff(Wx, x), x))*a20^2-3*w_temp^2*Wx*(diff(Wx, x))^2*a20^2+3*w_temp*Wx^4*a10*a20-6*w_temp*Wx^4*a10*delta+5*w_temp*Wx^3*(diff(Wx, x))*a20^2-2*w_temp^3*Wx*(diff(diff(w_temp, t), x))*a20-w_temp^3*(diff(Wx, x))*(diff(w_temp, t))*a20+2*w_temp^2*Wx^2*(diff(w_temp, t))*a20+w_temp^4*(diff(diff(diff(Wx, x), x), x))*a10*delta+w_temp^4*(diff(Wx, x))*a00*a10+w_temp^4*(diff(diff(Wx, x), x))*a00*a20-w_temp^3*Wx^2*a00*a10+w_temp^3*Wx*(diff(Wx, x))*a10^2+w_temp^3*(diff(Wx, x))^2*a10*a20

(9)

coeff5 := coeff(numerator_sub, Wx, 5)*w_temp^5; coeff4 := coeff(numerator_sub, Wx, 4)*w_temp^4

 

(-2*a20^2+24*a20*delta)*w_temp^5

 

(3*a10*a20*w_temp-6*a10*delta*w_temp)*w_temp^4

(10)

equations := {coeff4 = 0, coeff5 = 0}; solutions := solve(equations, {a10, a20})

 

{(-2*a20^2+24*a20*delta)*w_temp^5 = 0, (3*a10*a20*w_temp-6*a10*delta*w_temp)*w_temp^4 = 0}

 

{a10 = 0, a20 = 0}, {a10 = 0, a20 = 12*delta}

(11)

valid_solution := select(has, [solutions], a20 = 12*delta)[1]
NULL
 

{a10 = 0, a20 = 12*delta}

(12)

u_final := eval(u_sol, valid_solution)

 

12*delta*((diff(diff(w(x, t), x), x))/w(x, t)-(diff(w(x, t), x))^2/w(x, t)^2)+a00

(13)

 


 

Download mprimes_16-2-2025_How_collect_a_fraction_which_contain_derivative_And_finding_parameters.mw

Is this 
equation (11) ?

First 12 13 14 15 16 17 18 Last Page 14 of 73