janhardo

490 Reputation

9 Badges

10 years, 272 days

MaplePrimes Activity


These are answers submitted by janhardo

restart;
with(PDEtools):

# Step 1: Define the initial equation for H
H_eq := 2*H*B = C;

# Step 2: Solve for H
H := solve(H_eq, H);

# Step 3: Define the characteristic equation for nu
nu_eq := (2*nu - n)^2 = 16*A*B*beta*k^2 - 4*C^2*beta*k^2 + 1;

# Step 4: Solve for nu
nu := solve(nu_eq, nu);

# Step 5: Derive a0 from a coefficient equation
a0_eq := l*a0 = k^2*m*(4*A*B - C^2);
a0 := solve(a0_eq, a0);

# Step 6: Derive a2 from a higher-order correction
a2_eq := l*a2 = -6*B^2*k^2*m;
a2 := solve(a2_eq, a2);

# Step 7: Derive b2 as a nonlinear coefficient
b2_eq := l*B^2*b2 = (-3/8) * m*k^2 * (16*A^2*B^2 - 8*A*B*C^2 + C^4);
b2 := solve(b2_eq, b2);

# Step 8: Display the derived parameters
H, nu, a0, a2, b2;

 

with(Student:-Basics);
SolveSteps(?);


 

restart;
with(plots):
Digits := 15;

# Systeemparameters
f := 0.25;
ET := -0.200;

# Definieer het differentiaalstelsel
ode_sys := {
    diff(q1(t), t) = p1(t),
    diff(q2(t), t) = p2(t),
    diff(p1(t), t) = -q1(t)*(sqrt(q1(t)^2 + (q2(t) - 1)^2) + (-1 + f))/sqrt(q1(t)^2 + (q2(t) - 1)^2),
    diff(p2(t), t) = -f - (q2(t) - 1)*(sqrt(q1(t)^2 + (q2(t) - 1)^2) + (-1 + f))/sqrt(q1(t)^2 + (q2(t) - 1)^2)
};

# Definieer de Poincaré-event: q2 = 0 en p2 > 0
poincare_event := [q2(t) = 0, p2(t) > 0];

15

 

.25

 

-.200

 

{diff(p1(t), t) = -q1(t)*((q1(t)^2+(q2(t)-1)^2)^(1/2)-.75)/(q1(t)^2+(q2(t)-1)^2)^(1/2), diff(p2(t), t) = -.25-(q2(t)-1)*((q1(t)^2+(q2(t)-1)^2)^(1/2)-.75)/(q1(t)^2+(q2(t)-1)^2)^(1/2), diff(q1(t), t) = p1(t), diff(q2(t), t) = p2(t)}

 

[q2(t) = 0, 0 < p2(t)]

(1)

generate_ic := proc(q1_val, ET_val, f_val)
    local term, H_eq, p2_sol, p2_val, p1_val;
    
    # Definieer term en energievergelijking
    term := sqrt(q1_val^2 + 1) - 1 + f_val;
    p1_val := 0; # Fixeer p1
    
    H_eq := (1/2)*p1_val^2 + (1/2)*p2^2 - f_val + (1/2)*term^2 = ET_val;

    # Zoek naar numerieke oplossingen
    p2_sol := [fsolve(H_eq, p2, -10 .. 10)];
    
    # Controleer of er een oplossing is
    if p2_sol = [NULL] or nops(p2_sol) = 0 then
        return NULL;
    end if;

    # Selecteer alleen positieve p2-waarden
    p2_val := select(x -> type(x, numeric) and evalf(x) > 0, p2_sol);
    
    if nops(p2_val) = 0 then
        return NULL;
    end if;

    return [q1_val, 0, 0, evalf(subs(p2 = p2_val[1], p2))];
end proc:

# Genereer een lijst van beginwaarden
initial_conditions := [seq(generate_ic(q1_val, ET, f), q1_val in [-0.5, -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, 0.5])];
initial_conditions := remove(x -> x = NULL, initial_conditions);
print(" Initiële condities:", initial_conditions);

[[-.3, 0, 0, .116387182870710], [-.2, 0, 0, .164941971850206], [-.1, 0, 0, .187033000211546], [0, 0, 0, .193649167310371], [.1, 0, 0, .187033000211546], [.2, 0, 0, .164941971850206], [.3, 0, 0, .116387182870710]]

 

[[-.3, 0, 0, .116387182870710], [-.2, 0, 0, .164941971850206], [-.1, 0, 0, .187033000211546], [0, 0, 0, .193649167310371], [.1, 0, 0, .187033000211546], [.2, 0, 0, .164941971850206], [.3, 0, 0, .116387182870710]]

 

"✅ Initiële condities:", [[-.3, 0, 0, .116387182870710], [-.2, 0, 0, .164941971850206], [-.1, 0, 0, .187033000211546], [0, 0, 0, .193649167310371], [.1, 0, 0, .187033000211546], [.2, 0, 0, .164941971850206], [.3, 0, 0, .116387182870710]]

(2)

 

poincare_points := table();

for ic in initial_conditions do
    print(" ODE-oplossing starten voor ic:", ic);
    
    sol := dsolve({op(ode_sys), p1(0) = ic[3], p2(0) = ic[4], q1(0) = ic[1], q2(0) = ic[2]},
              numeric, events = poincare_event, range = 0 .. 1000, method = rkf45);
    
    temp_points := [];
    try
        for i to 1000 do
            sol(eventfired = [1]);  
            pt := sol(eventfired = [1]);  
            
            if 1 < nops(pt) then
                temp_points := [op(temp_points), [pt[1], pt[2]]];
                print(" Poincaré-event gedetecteerd:", pt);
            end if;
        end do;
    catch:
        print("⚠️ Fout bij verwerken van ic:", ic);
    end try;

    if 0 < nops(temp_points) then
        poincare_points[ic] := temp_points;
    else
        print("⚠️ Geen Poincaré-punten voor ic:", ic);
    end if;
end do;

print(" Poincaré-punten verzameld:", poincare_points);

table( [ ] )

 

"✅ ODE-oplossing starten voor ic:", [-.3, 0, 0, .116387182870710]

 

Error, (in dsolve/numeric) invalid 'events' specification

 

"✅ Poincaré-punten verzameld:", poincare_points

(3)

all_points := [];
for key in indices(poincare_points, nolist) do
    all_points := [op(all_points), op(poincare_points[key])];
end do;

print(" Totaal gevonden Poincaré-punten:", nops(all_points));

if nops(all_points) > 0 then
    poincare_plot := plot(all_points, style = point, color = black, symbolsize = 5,
                          labels = ["q1", "p1"],
                          title = typeset("Poincaré Section (E_T = ", ET, ", f = 0.25)"));
    display(poincare_plot);
else
    print("⚠️ Geen Poincaré-punten gevonden! Pas beginwaarden of simulatie-instellingen aan.");
end if;

[]

 

"✅ Totaal gevonden Poincaré-punten:", 0

 

"⚠️ Geen Poincaré-punten gevonden! Pas beginwaarden of simulatie-instellingen aan."

(4)

 


 

Download 12-3-2025_poncaire_mprimes_nalopen.mw

 

restart;

with(Student:-Calculus1):

infolevel[Student[Calculus1]] := 1;  # Displays extra details about the calculation

expr := (1 - x)^2 * Sum(k*x^k/(1 - x^k), k = 1 .. infinity);

# Define a rule to use the asymptotic approximation
Rule[rewrite, Sum(k*x^k/(1 - x^k), k = 1 .. infinity) = Pi^2/(6*(1-x)^2)]
    (Limit(expr, x = 1, left));

# Evaluate numerically to check the value
evalf(%);

1

 

(1-x)^2*(Sum(k*x^k/(1-x^k), k = 1 .. infinity))

 

Creating problem #1
 

 

CALCULUS1OBJECT([1, [], []], {k, x}) = Limit((1/6)*Pi^2, x = 1, left)

 

CALCULUS1OBJECT([1, [], []], {k, x}) = 1.644934067

(1)
 

 

Download vraag_limiet-How_to_calculate_the_left-hand_limit9-3-2025_mprimes.mw

restart;
with(plots):

# Definieer de parameters (je kunt deze aanpassen)
a := 1: b := 1: beta := 1: alpha := 1: delta := 1: mu := 1:
t := 0:  # Voor een statische momentopname

# Definieer de functie u in functie-notatie
u := (x, y, z, a, b, beta, alpha, delta, mu) -> (
    (((-1/4 + (((x + y + y + z)*delta)/2 + beta*a + alpha)*mu) *
    sqrt(2*sqrt(1 + 16*((a^2 + b^2)*beta^2 + 2*a*(delta*(y+z) + alpha)*beta + (delta*(y+z) + alpha)^2)*mu^2 +
    8*(-a*beta - delta*(y+z) - alpha)*mu) + 2 + (-8*a*beta - 8*delta*(y+z) - 8*alpha)*mu) *
    sqrt(2*sqrt(1 + 16*((a^2 + b^2)*beta^2 + 2*a*(delta*(x+y) + alpha)*beta + (delta*(x+y) + alpha)^2)*mu^2 +
    8*(-a*beta - delta*(x+y) - alpha)*mu) + 2 + (-8*a*beta - 8*delta*(x+y) - 8*alpha)*mu)) / 8)
);

# Bereken en toon de onafhankelijke variabelen en parameters in u
indets(u);

# Definieer de modulus van u
u_modulus := (x, y, z) -> sqrt(Re(u(x, y, z, a, b, beta, alpha, delta, mu))^2 + Im(u(x, y, z, a, b, beta, alpha, delta, mu))^2);

# 3D-plot van de modulus van u
plot3d(u_modulus(x, y, 0), x=-2..2, y=-2..2, color=blue, axes=boxed, labels=["x", "y", "|u|"], title="Modulus van de M-lump soliton");

proc (x, y, z, a, b, beta, alpha, delta, mu) options operator, arrow; (1/8)*(-1/4+((1/2)*(x+2*y+z)*delta+beta*a+alpha)*mu)*sqrt(2*sqrt(1+16*((a^2+b^2)*beta^2+2*a*(delta*(y+z)+alpha)*beta+(delta*(y+z)+alpha)^2)*mu^2+8*(-beta*a-delta*(y+z)-alpha)*mu)+2+(-8*beta*a-8*delta*(y+z)-8*alpha)*mu)*sqrt(2*sqrt(1+16*((a^2+b^2)*beta^2+2*a*(delta*(x+y)+alpha)*beta+(delta*(x+y)+alpha)^2)*mu^2+8*(-beta*a-delta*(x+y)-alpha)*mu)+2+(-8*beta*a-8*delta*(x+y)-8*alpha)*mu) end proc

 

{u}

 

proc (x, y, z) options operator, arrow; sqrt(Re(u(x, y, z, a, b, beta, alpha, delta, mu))^2+Im(u(x, y, z, a, b, beta, alpha, delta, mu))^2) end proc

 

 
 

 

Download 8-3--2025_complex_functie_modulus_plotmprimes.mw

Is this the wanted form ?

 

 

restart;

 

with(plots):

bifdiagram := proc(a1, a2, N::posint, color_choice)
    local bifdiag, a, da, x, pts, cond1, cond2, j;
    
    # Print the meaning of the input parameters
    printf("Bifurcation Diagram Parameters:\n");
    printf("  a1 = %.2f  : Lower bound of parameter 'a'\n", a1);
    printf("  a2 = %.2f  : Upper bound of parameter 'a'\n", a2);
    printf("  N  = %d    : Number of steps between a1 and a2\n", N);
    printf("  Color = %s : Color of the plotted points\n\n", color_choice);
    
    # Define plot conditions with user-defined color
    cond1 := style = point, symbol = point, symbolsize = 8, view = [a1 .. a2, 0 .. 1], color = color_choice;
    cond2 := labels = ["a", "x"], labelfont = [TIMES, ITALIC, 18], axes = boxed;
    
    # Calculate step size
    da := evalf((a2 - a1)/N);
    bifdiag := NULL;
    
    # Loop through parameter values
    for a from a1 by da to a2 do
        x := 0.6;
        
        # Iterate 100 times to reach a stable state
        for j to 100 do
            x := x * a * (1 - x);
        end do;
        
        pts := NULL;
        
        # Collect 100 points for the bifurcation diagram
        for j to 100 do
            x := x * a * (1 - x);
            pts := pts, [a, x];
        end do;
        
        # Append current plot to bifurcation diagram
        bifdiag := bifdiag, plot([pts], cond1, cond2);
    end do;
    
    # Display the final bifurcation diagram
    display([bifdiag]);
end proc:

# Call the function with a custom color (e.g., "red")
bifdiagram(1, 4, 100, red);

Bifurcation Diagram Parameters:
  a1 = 1.00  : Lower bound of parameter 'a'
  a2 = 4.00  : Upper bound of parameter 'a'
  N  = 100    : Number of steps between a1 and a2
  Color = red : Color of the plotted points
 

 
 

 

Download bifurcatiediiagram_mprimes_vraag_6-3-2025.mw

I have no knowledge of this physics at all, but maybe this setup makes sense?
But do have an idea what it's about from fields with particles and using ai explaining some background information

 

setup

 

restart; with(Physics); with(Physics[Vectors]); Setup(signature = "-+++", mathematicalnotation = true, coordinates = [X], quantumoperators = {phi}, mathematicalnotation = true)

[coordinatesystems = {X}, mathematicalnotation = true, quantumoperators = {phi}, signature = `- + + +`]

(1.1)

am := Annihilation(phi)[k]; ap := Creation(phi)[k]

`#msup(mi("a"),mo("&plus;"))`[k]

(1.2)

Setup(quantumoperators = {a, ad}); am := a[k]; ap := ad[k]

ad[k]

(1.3)

Setup(algebrarules = {%Commutator(a[k], ad[kp]) = KroneckerDelta[k, kp]})

[algebrarules = {%Commutator(`#msup(mi("a"),mo("&uminus0;"))`, `#msup(mi("a"),mo("&plus;"))`) = 1, %Commutator(a[k], ad[kp]) = Physics:-KroneckerDelta[k, kp]}]

(1.4)

%Commutator(a[k], ad[kp])

%Commutator(a[k], ad[kp])

(1.5)

KroneckerDelta[k, kp]

Physics:-KroneckerDelta[k, kp]

(1.6)

 

 



Download setup_natuurkunde_mprimes_sections.mw

@ 
This is not complete code yet, but the projection curves are still missing 

 

restart;
with(plots):
with(plottools):

# Parameters
GammaVal := 1:
omega := 2*Pi:
t0 := 0.7:
tmin := 0:
tmax := 2:
num_frames := 50:

# Definieer de correcte functies voor f_real en f_imag
f_real := T -> evalf(exp(-GammaVal*(T - t0)^2) * cos(omega*T)):
f_imag := T -> evalf(exp(-GammaVal*(T - t0)^2) * sin(omega*T)):

# Dynamisch assenbereik bepalen
min_real := evalf(min([seq(f_real(T), T = tmin .. tmax, 0.05)])):
max_real := evalf(max([seq(f_real(T), T = tmin .. tmax, 0.05)])):
min_imag := evalf(min([seq(f_imag(T), T = tmin .. tmax, 0.05)])):
max_imag := evalf(max([seq(f_imag(T), T = tmin .. tmax, 0.05)]));

# Correcte plaatsing van de projectievlakken
x_offset := evalf(tmax + 1):  
z_offset := evalf(min_imag - 1):  
y_offset := evalf(max_real + 1):  

# **Toevoegen van de 3D-curve als continue lijn**
space_curve := spacecurve(
    [T, f_real(T), f_imag(T)],
    T = tmin .. tmax,
    color = blue,
    thickness = 3
):

# **Toevoegen van de projectievlakken**
real_plane := polygon([[tmin, min_real - 1, z_offset], [tmax, min_real - 1, z_offset],
                       [tmax, max_real + 1, z_offset], [tmin, max_real + 1, z_offset]],
                       transparency=0.7, color=lightgray):

imag_plane := polygon([[x_offset, min_real - 1, min_imag], [x_offset, max_real + 1, min_imag],
                       [x_offset, max_real + 1, max_imag], [x_offset, min_real - 1, max_imag]],
                       transparency=0.7, color=lightgray):

time_plane := polygon([[tmin, y_offset, min_imag], [tmax, y_offset, min_imag],
                       [tmax, y_offset, max_imag], [tmin, y_offset, max_imag]],
                       transparency=0.7, color=lightgray):

# **Animatie van bewegend punt op de 3D-curve**
anim_curve := animate(
    pointplot3d,
    [[[frame, f_real(frame), f_imag(frame)]], color=blue, symbol=solidsphere, symbolsize=15],
    frame = tmin .. tmax,
    frames = num_frames
):

# **Animatie van projectiepunt op het reëel-z vlak**
anim_proj1 := animate(
    pointplot3d,
    [[[frame, f_real(frame), z_offset]], color=red, symbol=solidsphere, symbolsize=15],
    frame = tmin .. tmax,
    frames = num_frames
):

# **Animatie van projectiepunt op het x-imag vlak**
anim_proj2 := animate(
    pointplot3d,
    [[[x_offset, f_real(frame), f_imag(frame)]], color=green, symbol=solidsphere, symbolsize=15],
    frame = tmin .. tmax,
    frames = num_frames
):

# **Animatie van projectiepunt op het y-imag vlak**
anim_proj3 := animate(
    pointplot3d,
    [[[frame, y_offset, f_imag(frame)]], color=purple, symbol=solidsphere, symbolsize=15],
    frame = tmin .. tmax,
    frames = num_frames
):

# **Combineer alle elementen (curve, projectievlakken en animaties)**
animation := display(
    [space_curve, real_plane, imag_plane, time_plane, anim_curve, anim_proj1, anim_proj2, anim_proj3],
    view = [tmin .. x_offset, min_real .. y_offset, z_offset .. max_imag],
    axes = normal,
    orientation = [45, 45]
):

# Toon de animatie
animation

.8166864826

 

 

 


 

Download animatie_spacecurve_3d_opzet_28-2-2025.mw

@salim-barzani 
This is the trajectory equation derivation for the 2 lump wave from the information

restart:
# Definieer symbolische variabelen
assume(a, real); assume(b, real); assume(alpha, real); assume(beta, real);
assume(x, real); assume(y, real); assume(t, real);

# Stap 1: Schrijf theta expliciet uit
theta := x + a*y - (alpha + beta*a/(a^2+b^2))*t + I*(b*y - beta*b*t/(a^2+b^2));

# Stap 2: Scheid reële en imaginaire delen
Re_theta := simplify(Re(theta));
Im_theta := simplify(Im(theta));

# Stap 3: Stel Re(theta)=0 en Im(theta)=0 op piekpositie
eq1 := Re_theta = 0;
eq2 := Im_theta = 0;

# Stap 4: Los vergelijking eq2 op naar t
t_sol := solve(eq2, t);

# Stap 5: Vervang t in vergelijking eq1 om expliciete baanvergelijking te vinden
baan_eq := simplify(subs(t = t_sol, eq1));

# Oplossen naar y geeft de expliciete baanvergelijking
baan := solve(baan_eq, y);

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

 

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

 

b*y-beta*b*t/(a^2+b^2)

 

x+a*y-(alpha+beta*a/(a^2+b^2))*t = 0

 

b*y-beta*b*t/(a^2+b^2) = 0

 

Warning, solve may be ignoring assumptions on the input variables.

 

y*(a^2+b^2)/beta

 

(-y*(a^2+b^2)*alpha+x*beta)/beta = 0

 

Warning, solve may be ignoring assumptions on the input variables.

 

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

(1)

 



last step to get the maple rexpression



 

Download 2_lump_afeleiding_baan_vergelijking_maple_primes_24-2-2025.mw

1 lump solution 
1_dlump_mprimes_19-2-2025.mw

@salim-barzani 

restart;

f := proc(N)
    uses combinat;
    local M, coeff, all_terms, chosen_subsets, s, matchings, matching, pair, sorted_pair, B_product, theta_indices, theta_product, term, i, k;
    all_terms := 0;
    for M from 0 to floor(N/2) do
        ## coeff := 1/(M! * 2^M);  
        coeff := 1;
        if M = 0 then
            all_terms := all_terms + coeff * mul(theta[i], i=1..N);
        else
            chosen_subsets := choose([$1..N], 2*M);
            for s in chosen_subsets do
                matchings := setpartition(s, 2);
                for matching in matchings do
                    B_product := 1;
                    for pair in matching do
                        sorted_pair := sort(pair);
                        B_product := B_product * B[parse(cat(op(sorted_pair)))];
                    end do;
                    theta_indices := {$1..N} minus {op(s)};
                    theta_product := mul(theta[k], k = theta_indices);
                    term := coeff * B_product * theta_product;
                    all_terms := all_terms + term;
                end do;
            end do;
        end if;
    end do;
    return expand(all_terms);
end proc:

F__2 = f(2);

F__2 = theta[1]*theta[2]+B[12]

(1)

F__4 = f(4)

F__4 = theta[1]*theta[2]*theta[3]*theta[4]+B[12]*theta[3]*theta[4]+B[13]*theta[2]*theta[4]+B[14]*theta[2]*theta[3]+B[23]*theta[1]*theta[4]+B[24]*theta[1]*theta[3]+B[34]*theta[1]*theta[2]+B[12]*B[34]+B[13]*B[24]+B[14]*B[23]

(2)

# Voorbeeld voor N=6
F__6 = f(6);

F__6 = theta[1]*theta[2]*theta[3]*theta[4]*theta[5]*theta[6]+B[12]*theta[3]*theta[4]*theta[5]*theta[6]+B[13]*theta[2]*theta[4]*theta[5]*theta[6]+B[14]*theta[2]*theta[3]*theta[5]*theta[6]+B[15]*theta[2]*theta[3]*theta[4]*theta[6]+B[16]*theta[2]*theta[3]*theta[4]*theta[5]+B[23]*theta[1]*theta[4]*theta[5]*theta[6]+B[24]*theta[1]*theta[3]*theta[5]*theta[6]+B[25]*theta[1]*theta[3]*theta[4]*theta[6]+B[26]*theta[1]*theta[3]*theta[4]*theta[5]+B[34]*theta[1]*theta[2]*theta[5]*theta[6]+B[35]*theta[1]*theta[2]*theta[4]*theta[6]+B[36]*theta[1]*theta[2]*theta[4]*theta[5]+B[45]*theta[1]*theta[2]*theta[3]*theta[6]+B[46]*theta[1]*theta[2]*theta[3]*theta[5]+B[56]*theta[1]*theta[2]*theta[3]*theta[4]+B[12]*B[34]*theta[5]*theta[6]+B[12]*B[35]*theta[4]*theta[6]+B[12]*B[36]*theta[4]*theta[5]+B[12]*B[45]*theta[3]*theta[6]+B[12]*B[46]*theta[3]*theta[5]+B[12]*B[56]*theta[3]*theta[4]+B[13]*B[24]*theta[5]*theta[6]+B[13]*B[25]*theta[4]*theta[6]+B[13]*B[26]*theta[4]*theta[5]+B[13]*B[45]*theta[2]*theta[6]+B[13]*B[46]*theta[2]*theta[5]+B[13]*B[56]*theta[2]*theta[4]+B[14]*B[23]*theta[5]*theta[6]+B[14]*B[25]*theta[3]*theta[6]+B[14]*B[26]*theta[3]*theta[5]+B[14]*B[35]*theta[2]*theta[6]+B[14]*B[36]*theta[2]*theta[5]+B[14]*B[56]*theta[2]*theta[3]+B[15]*B[23]*theta[4]*theta[6]+B[15]*B[24]*theta[3]*theta[6]+B[15]*B[26]*theta[3]*theta[4]+B[15]*B[34]*theta[2]*theta[6]+B[15]*B[36]*theta[2]*theta[4]+B[15]*B[46]*theta[2]*theta[3]+B[16]*B[23]*theta[4]*theta[5]+B[16]*B[24]*theta[3]*theta[5]+B[16]*B[25]*theta[3]*theta[4]+B[16]*B[34]*theta[2]*theta[5]+B[16]*B[35]*theta[2]*theta[4]+B[16]*B[45]*theta[2]*theta[3]+B[23]*B[45]*theta[1]*theta[6]+B[23]*B[46]*theta[1]*theta[5]+B[23]*B[56]*theta[1]*theta[4]+B[24]*B[35]*theta[1]*theta[6]+B[24]*B[36]*theta[1]*theta[5]+B[24]*B[56]*theta[1]*theta[3]+B[25]*B[34]*theta[1]*theta[6]+B[25]*B[36]*theta[1]*theta[4]+B[25]*B[46]*theta[1]*theta[3]+B[26]*B[34]*theta[1]*theta[5]+B[26]*B[35]*theta[1]*theta[4]+B[26]*B[45]*theta[1]*theta[3]+B[34]*B[56]*theta[1]*theta[2]+B[35]*B[46]*theta[1]*theta[2]+B[36]*B[45]*theta[1]*theta[2]+B[12]*B[34]*B[56]+B[12]*B[35]*B[46]+B[12]*B[36]*B[45]+B[13]*B[24]*B[56]+B[13]*B[25]*B[46]+B[13]*B[26]*B[45]+B[14]*B[23]*B[56]+B[14]*B[25]*B[36]+B[14]*B[26]*B[35]+B[15]*B[23]*B[46]+B[15]*B[24]*B[36]+B[15]*B[26]*B[34]+B[16]*B[23]*B[45]+B[16]*B[24]*B[35]+B[16]*B[25]*B[34]

(3)

- coefficents removed : set coeff = 1
- notation is now the same
- remove the coefficent code  as next step to get minimal code : remove two lines 
 
## coeff := 1/(M! * 2^M);  
       coeff := 1;

Download mprimes_salim_can_anyobne_generate_this_serie_8-2-2025.mw

In the procedure code you will see the method of getting a parabole equation from given 3 points 

paraboolProcedure := proc(P1, P2, P3)
    uses plots;
    local a, b, c, eq1, eq2, eq3, sol, parabool, x_range, y_range, 
          x_min, x_max, y_min, y_max, vertex_x, vertex_y, x_padding, y_padding,
          plot_parabool, plot_points, final_plot;

    # Definieer de vergelijkingen voor de drie punten
    eq1 := a*P1[1]^2 + b*P1[1] + c = P1[2];
    eq2 := a*P2[1]^2 + b*P2[1] + c = P2[2];
    eq3 := a*P3[1]^2 + b*P3[1] + c = P3[2];

    # Los het stelsel vergelijkingen op
    sol := solve({eq1, eq2, eq3}, {a, b, c});

    # Controleer of er een oplossing is
    if sol = {} then
        error "De punten vormen geen geldige parabool.";
    end if;

    # Wijs de coëfficiënten toe
    a := eval(a, sol);
    b := eval(b, sol);
    c := eval(c, sol);

    # Controleer of het een parabool is (a ≠ 0)
    if a = 0 then
        error "De punten zijn collineair en vormen een rechte.";
    end if;

    # Construeer de paraboolvergelijking
    parabool := a*x^2 + b*x + c;

    # Bereken de top van de parabool
    vertex_x := -b/(2*a);
    vertex_y := eval(parabool, x = vertex_x);

    # Bepaal het x-bereik voor de plot
    x_min := min(P1[1], P2[1], P3[1], vertex_x);
    x_max := max(P1[1], P2[1], P3[1], vertex_x);
    x_padding := 0.1*(x_max - x_min);
    x_range := x_min - x_padding .. x_max + x_padding;

    # Bepaal het y-bereik voor de plot
    y_min := min(P1[2], P2[2], P3[2], vertex_y);
    y_max := max(P1[2], P2[2], P3[2], vertex_y);
    y_padding := 0.1*(y_max - y_min);
    y_range := y_min - y_padding .. y_max + y_padding;

    # Genereer de plot van de parabool
    plot_parabool := plot(parabool, x = x_range, y = y_range, color = "Blue", thickness = 2);

    # Plot de drie punten
    plot_points := plots:-pointplot([P1, P2, P3], symbol = solidcircle, 
                                  color = "Red", symbolsize = 20);

    # Combineer de plots
    final_plot := plots:-display(plot_parabool, plot_points, 
                               labels = ["x", "y"], title = "Parabola through the given points");

    # Retourneer de vergelijking en de plot
    return parabool, print(final_plot);
end proc:

# Define three points 
P1 := [-10, 0];
P2 := [1, 1];
P3 := [2, 4];

# Call the procedure 
paraboolProcedure(P1, P2, P3);



@salim-barzani 
its possible to get de coeffs for x and t in Maple , you can do it also manual 

L4 := ((2*k[1]*n[1] + 2*k[2]*n[2])*(k[1]^2 + k[2]^2) - (2*k[1]^2 + 2*k[2]^2)*(2*k[1]*n[1] + 2*k[2]*n[2]))*x^2 
      - (2*k[1]^2 + 2*k[2]^2)*(2*n[1]^2 + 2*n[2]^2)*x*t 
      + ((2*k[1]*n[1] + 2*k[2]*n[2])*(n[1]^2 + n[2]^2) - (2*k[1]*n[1] + 2*k[2]*n[2])*(2*n[1]^2 + 2*n[2]^2))*t^2 
      + (2*k[1]*n[1] + 2*k[2]*n[2])*a[0] 
      + 3*(2*k[1]^2 + 2*k[2]^2)^2;



coeff_x := coeff(L4, x, 1);
coeff_t := coeff(L4, t, 1);
coeff_xt := coeff(coeff(L4, x, 1), t, 1);
constant_term := subs(x=0, t=0, L4);

[coeff_x, coeff_t, coeff_xt, constant_term];







 

1 2 3 Page 1 of 3