120 Reputation

6 Badges

5 years, 152 days

MaplePrimes Activity

These are questions asked by maple2015



I want to write a code to show that

Please check the following code:

SetCoordinates(cartesian[x, y, z]): 
g1 := proc (u1, u2, u3, s)
local N, u, n, intr1, intr2, intr3, R1, R2:
u := VectorField([u1, u2, u3]): 
N := Gradient(s): 
n := N/sqrt(add(N[k]^2, k = 1 .. 3)): 
intr1 := solve(subs(z = 0, s), y): 
intr2 := solve(subs(z = 0, y = 0, s)): 
R1 := int(int(subs(z = solve(s, z)[1], u . n), y = intr1[1] .. intr1[2]), x = intr2[1] .. intr2[2], numeric):
intr1 := solve(s, z): 
intr2 := solve(subs(z = 0, s), y):
intr3 := solve(subs(z = 0, y = 0, s)): 
R2 := evalf(int(int(int(Del . u, z = intr1[1] .. intr1[2]), y = intr2[1] .. intr2[2]), x = intr3[1] .. intr3[2])):
print(R1, R2) 
end proc

It seems that different answers are obtained.

g1(x, 1, z, x^2+y^2+z^2-2);
                   6.664324407, -23.69537567


In mathematics, the inverse problem for Lagrangian mechanics (Helmholtz inverse problem) is the problem of determining whether a given system of ordinary differential equations can arise as the Euler–Lagrange equations for some Lagrangian function. 

For more information read section IV.2. page 65 of the following reference:



I need some hints or procedures (if it is possible) for similar (but a little more complex) problem:

1- Assume that you have one ordinary differential equation, ode1(r) in polar coordinate system (i.e. (r, theta)). The ODE is taken to be independent from theta (It is not a PDE).

2- Assume that "Euler" is an operator that gives the Euler-Lagrange equation, I need a procedure to calculate ode2(r) such that

1/(2r)*Euler (ode2(r)) -Laplacian (1/(2r)*Euler(ode1(r)))=0

It is obvious that we need inverse of Euler operator (say IE) to calculate ode2(r).

ode2(r) =IE( 2r*Laplacian (1/(2r)*Euler(ode1(r))))

I calculate ode2(r) for some simpler cases via trial and error method.

s := proc (S) 
subs(w = w(r), w1 = diff(w(r), r), w2 = diff(w(r), r$2), S) 
end proc: 
Euler := proc (f) 
s(diff(f, w))-(diff(s(diff(f, w1)), r))+diff(s(diff(f, w2)), r$2) 
end proc:


ode1(r) = -r*(diff(w(r),r))^2:

ode2(r) = (diff(w(r),r))^2/r+r*(diff(w(r),r$2))^2:



I will be grateful if you can hint me to write an appropriate procedure.


Please explain a method (including corresponding commands) to find first positive real root(s) of a large matrix determinant, briefly. Since each entry or element of the matrix involves with the large formula, probably Newton Iterative method is suitable. The main question is, how it is possible to define some matrices like the Hessian or gradient matrices, when calculating parametric solution of determinant is a very time consuming procedure.

Let assume that only one independent variable exists. After evaluating matrix value at a certain amount of independent variable, the determinant can be calculated swiftly. The problem is that the derivative of determinant in each step will be calculated slowly. How one can rectify this deficiency in Newton Iterative method? For example, is there another iterative method to find derivative of determinant at a certain amount of independent variable to use it in the Newton iterative method?



I write a code to read the matrix elements and return information about row and column number of some specific data. This code is lengthy.

Is there a command to give this information directly, without necessity of developing a code?

For instance, assume M=`<|>`(`<,>`(1, 3, 2), `<,>`(4, 1, 3))

I need a command to show that each element how many times is repeated and where is located. For example, the number 3  is repeated 2 times in locations [2,1] and [3,2].


I have a complex function (i.e. f) with real values for real domain (real amounts of independent variable omega). If the previous calculations are conducted correctly, the minimum positive real root of mentioned function must be equal to 15.4182/sqrt(12). The formula of f is inserted as a plain text.


The plot of f is depicted as follows:

It seems that the root is between 4 and 5. The command fsolve does not work.


Also, the Newton iterative method is useless since the imaginary part exists.



for i while or(i=10, abs(eval(f,omega=x[i]))<1E-3) do


end do:


Please propose a way to find first positive real root of above function.

Moreover, I sometimes see discordant results when I use plot command to seek an approximate range for fsolve. I have another function (i.e. f(x)) that fsolve gives the root x=4, which is true but the plot command shows that the root is not occurred at x=4.


1 2 3 4 5 6 7 Last Page 2 of 12