ecterrab

14727 Reputation

24 Badges

20 years, 330 days

MaplePrimes Activity


These are replies submitted by ecterrab

@Rouben Rostamian  

Computational mathematics and automatic proof are one thing. There, AI can be very powerful and reliable, provided it is given structured guidance, validation, and computer algebra support for the computations. That is what I am targeting in ExaktAI: guide the AI, validate the solution step by step to address the unreliability problem, and automatically generate the Maple document where the validation can be reproduced for every step and one can continue working on the problem.

Genuine mathematical imagination and intellectual resonance are another thing, and I agree with you that this remains much more naturally human. My own view is exactly what the title of this post says: AI mathematics with validation, and the human in the loop. I believe that is the future, not AI mathematics without humans.

And thanks for the reference. I had not seen that paper. Checking whether the parameterizations obtained there overlap with the one derived here in the previous comment is an interesting challenge. I have not checked either, but elimination seems like a possible way to approach it; I may give it a try.

All in all, a very interesting example!

Edgardo S. Cheb-Terrab
ExaktAI

@Rouben Rostamian  
In the previous reply, a parameterized solution to the problem you posted was given, showing that there are infinitely many solutions, but the derivation of that parameterized solution was not shown. Today I tried the problem again, this time with the goal of deriving that parameterized solution. This is the result, and at the end there is a link to the Maple document automatically generated by ExaktAI where the derivation is reproduced:



Download Deriving_parameterized_solution.mw

Edgardo S. Cheb-Terrab
ExaktAI

Rouben Rostamian  
Interesting problem yours. If your example already disconcerted you, check please this page sampling the AI math reliability problem more systematically.

So knowing that the problem is there, and understanding that it is unvoidable because AIs infere - do not compute, the issue is how to tackle the AI math unreliability in order to use AI's fantastic inference capabilities. One approach, the one I use in ExaktAi is to define first what validation means, then validate AI math results. Key in that, in my opinion, is "Human in the loop" - we need to be able not just to see but also to reproduce step by step a result. And for that, the first line of validation, and where a person can reproduce computational steps is a Computer Algebra System (CAS).

On the problem you brought, it seems to me it is borderline AI's training data - don't expect much help from AI in these cases. That is another thing not mentioned frequently. Here is a screenshot running the problem "bare" against 6 state-of-the-art AIs with reasoning = high:



Still, you problem is well defined - if the idea is to solve it, in the context of ExaktAI, that means a blend of AI + CAS tackling it. Call it validation, collaboration, or any other word. This is what results. First with Maple: the document is automatically generated and opened when the internal computation finishes

You see, only a trivial solution which is not strictly positive (b=c=v=w=0).. Adding "If yes, are there infinitely many solutions?" changes nothing in the output. The same solution is generated. You note the whole process is not infallible. CAS also have limitations. The webpage mentioned at the beginning, on what validation means, is about how easy is to think that validation is infallible, when it is not. Your example is excellent in that it is borderline for AIs and also for CAS.

This is using the other CAS as support: after the computation finishes, a corresponding notebook is automatically generated and opened showing

I changed slightly the presentation of the problem to make it clear that I wanted to see the solutions, and from there conclude by myself whether there are or not infinitely many.  Even so, I got conditions, not a visible solution. So I tried codex (OpenAI), this time with xhigh reasoning effort, and got a concrete answer



So a correct three-parameter solution with parameters (k, s, t) is:

[k^2*t^2*(s^2-t^2)^2*(s^2+t^2),k^2*s^2*(s^2-t^2)^2*(s^2+t^2),4*k^2*s^4*t^4,k*(s^4+t^4),k^2*s*t*(s^2+t^2)*(s^4-t^4),2*k^3*s^3*t^3*(s^2-t^2)^2*(s^2+t^2)]. 

The Maple syntax can be tested, e.g. [a, b, c, u, v, w] =~ subs(s = 10, k = 27, t = 3, <formula of s, k, t>) and checking it cancels the system of equations of your problem. I understand codex pulled it from training, that result is probably in number-theory literature. Your example is also interesting in that the AI presents a solution the CAS alone couldn't surface.

AI mathematics is promoting a revolution. While AI alone is unreliable (significantly more than what is advertised), and CAS alone has limitations, AI blended with CAS (I think) is the future of computational mathematics.

Edgardo
ExaktAI

@Rotcev 
g_ and D_. See the help page ?Physics,Tensors, everything is explained in an organized way there.
Best

@Hullzie16 
I see now. The whole problem, that also explains "if I go back to the setup line and execute, it will return the correct expression!" is that you set the spherical coordinates before having set any coordinates. For instance enter Coordinates(X) after with(Physics) and it will work as you expected. I.e. it is indeed a minor, however a bug.

That said, your question called my attention... There are several cases, more than what is implemented: 3 orthogonal systems of coordinates, from each one to the other one, cases of Euclidean and Minkowski, dimension = 2, 3, 4, and in fact it should work in a generic non-flat spacetime provided that the old and new coordinates are two of Cartesian, cylindrical, and spherical. I will take a look at fixing the problem you noticed.

Hi, just saw this one, I do not see the worksheet you mention; do you still have it?

Incidentally, after the fix, you see a remarkably large WARNING message, intended. Still, it is all in ASCII characters (typewriter, the design of this is is from ~1980) In this screenshot you see what happens when you redefine WARNING to use Physics:-Warning . (You need to input kernelopts(opaquemodules = false) before redefining WARNING.):

So not only the message becomes readable in more general terms (e.g. the math, but not only), but you can also copy and paste from the math into an input line. 

My question is whether people here consider this a valuable improvement to the display of WARNING messages? I can make it a Physics:-Setup option, as in Physics:-Setup(typesetwarningmessages = true) that one could have in the maple.ini (or .mapleinit) initialization file, or also have it true by default whenever Physics is loaded. Since years all WARNING messages that come from the Physics package have typestting, this suggestion I am doing is about all WARNING messages from any command to be displayed with typesetting.

Edgardo S. Cheb-Terrab
Physics, DIfferential Equations and Mathematical Functions

@FDS 
The problem is that you don't have the Physics package installed, so the 'latest' keyword does not work. Please see this Mapleprimes post: The 2025 Maplesoft Physics Updates and its future, where installation instructions are presented.

Edgardo S. Cheb-Terrab
Physics, Differential Equations, and Mathematical Functions
Research and Education—passionate about all that.

 

@Jean-Michel,

I stopped working for Maplesoft at the end of 2024. That said, trying to help you, note first your screenshots are not inserted in your post as thought. Then, the problem you mention "seems to be" some sort of "rights problem" I guess in the Windows OS (I use Macintosh, cannot help you there) but clicking here "Download Physics Updates" you can download the "Physics Updates.maple" file directly from the Maplecloud; then open Maple, input "libname", and if you have already installed the Physics Updates at some point, you should see

> libname;

                       "/Users/ecterrab/maple/toolbox/2025/Physics Updates/lib", ....<whatever else>

where I am showing you what I see in my computer, the important part is the "..../toolbox/2025/Physics Updates/lib" directory, drop the "Physics Updates.maple" file in that directory, and you will have the Updates working for you; the rest of files are not relevant.

Best
Edgardo

Physics, Differential Equations and Mathematical Functions, Maplesoft.

@Hullzie16 

with(Physics)

g_[arb]

Physics:-g_[mu, nu] = Matrix(%id = 36893488152339003020)

(1)

"CompactDisplay(Phi(X),?): "

f__9(x1, x2, x3, x4)*`will now be displayed as`*f__9

(2)

Let's see what you do from close:

Christoffel[`~alpha`, beta, nu, definition]

Physics:-Christoffel[`~alpha`, beta, nu] = (1/2)*Physics:-g_[`~alpha`, `~mu`]*(Physics:-d_[nu](Physics:-g_[mu, beta], [X])+Physics:-d_[beta](Physics:-g_[mu, nu], [X])-Physics:-d_[mu](Physics:-g_[beta, nu], [X]))

(3)

'eval(Physics[Christoffel][`~alpha`, beta, nu] = (1/2)*Physics[g_][`~alpha`, `~mu`]*(Physics[d_][nu](Physics[g_][mu, beta], [X])+Physics[d_][beta](Physics[g_][mu, nu], [X])-Physics[d_][mu](Physics[g_][beta, nu], [X])), [g_[mu, beta] = exp(2*Phi(X))*g_[mu, beta], g_[mu, nu] = exp(2*Phi(X))*g_[mu, nu], g_[beta, nu] = exp(2*Phi(X))*g_[beta, nu]])'

eval(Physics:-Christoffel[`~alpha`, beta, nu] = (1/2)*Physics:-g_[`~alpha`, `~mu`]*(Physics:-d_[nu](Physics:-g_[mu, beta], [X])+Physics:-d_[beta](Physics:-g_[mu, nu], [X])-Physics:-d_[mu](Physics:-g_[beta, nu], [X])), [Physics:-g_[mu, beta] = Physics:-`*`(exp(Physics:-`*`(2, Phi(X))), Physics:-g_[mu, beta]), Physics:-g_[mu, nu] = Physics:-`*`(exp(Physics:-`*`(2, Phi(X))), Physics:-g_[mu, nu]), Physics:-g_[beta, nu] = Physics:-`*`(exp(Physics:-`*`(2, Phi(X))), Physics:-g_[beta, nu])])

(4)

Simplify(eval(Physics[Christoffel][`~alpha`, beta, nu] = (1/2)*Physics[g_][`~alpha`, `~mu`]*(Physics[d_][nu](Physics[g_][mu, beta], [X])+Physics[d_][beta](Physics[g_][mu, nu], [X])-Physics[d_][mu](Physics[g_][beta, nu], [X])), [Physics[g_][mu, beta] = Physics[`*`](exp(Physics[`*`](2, Phi(X))), Physics[g_][mu, beta]), Physics[g_][mu, nu] = Physics[`*`](exp(Physics[`*`](2, Phi(X))), Physics[g_][mu, nu]), Physics[g_][beta, nu] = Physics[`*`](exp(Physics[`*`](2, Phi(X))), Physics[g_][beta, nu])]))

Physics:-Christoffel[`~alpha`, beta, nu] = exp(2*Phi(X))*(Physics:-d_[nu](Phi(X), [X])*Physics:-g_[beta, `~alpha`]+Physics:-d_[beta](Phi(X), [X])*Physics:-g_[nu, `~alpha`]-Physics:-d_[`~alpha`](Phi(X), [X])*Physics:-g_[beta, nu]+Physics:-Christoffel[`~alpha`, beta, nu])

(5)

My reading of this: you want to have a conformal metric set, but in addition you want to have everything expressed in terms of the non-conformal metric, and see the factor exp(2*Phi) explicitly. Note that if the idea were to only have everything expressed in terms of the conformal metric, then my previous response suffices:

g_[mu, nu] = exp(2*Phi(X))*rhs(g_[])

Physics:-g_[mu, nu] = Matrix(%id = 36893488152337422324)

(6)

"Define(?)"

{Physics:-D_[mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], Physics:-d_[mu], Physics:-g_[mu, nu], Physics:-gamma_[i, j], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(7)

And this already gives you everything in terms of the conformal metric, but you will only see the factor exp(2*Phi) explicitly if you ask for components:

Christoffel[1, mu, nu, matrix]

Physics:-Christoffel[1, mu, nu] = Matrix(%id = 36893488152338995188)

(8)

while if you ask only for the definition, you see the right thing, but do not see the factor exp(2*Phi) explicitly, because it is embedded within the components of the metric in (6).

Christoffel[definition]

Physics:-Christoffel[alpha, mu, nu] = (1/2)*Physics:-d_[nu](Physics:-g_[alpha, mu], [X])+(1/2)*Physics:-d_[mu](Physics:-g_[alpha, nu], [X])-(1/2)*Physics:-d_[alpha](Physics:-g_[mu, nu], [X])

(9)

But of course it is there

subs(alpha = 1, Physics[Christoffel][alpha, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][alpha, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][alpha, nu], [X])-(1/2)*Physics[d_][alpha](Physics[g_][mu, nu], [X]))

Physics:-Christoffel[1, mu, nu] = (1/2)*Physics:-d_[nu](Physics:-g_[1, mu], [X])+(1/2)*Physics:-d_[mu](Physics:-g_[1, nu], [X])-(1/2)*Physics:-d_[1](Physics:-g_[mu, nu], [X])

(10)

lhs(Physics[Christoffel][1, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][1, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][1, nu], [X])-(1/2)*Physics[d_][1](Physics[g_][mu, nu], [X])) = TensorArray(rhs(Physics[Christoffel][1, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][1, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][1, nu], [X])-(1/2)*Physics[d_][1](Physics[g_][mu, nu], [X])))

Physics:-Christoffel[1, mu, nu] = Matrix(%id = 36893488152548017444)

(11)

OK. Is it possible to express everything in terms of the non-conformal metric and see the factor exp(2*Phi) explicitly even when you have set a conformal metric? Yes in some sense. Define a tensor that represents the non-conformal metric

"`g__0`[mu,nu] = rhs(?)"

g__0[mu, nu] = Matrix(%id = 36893488152339003020)

(12)

"Define(?)"

{Physics:-D_[mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], Physics:-d_[mu], Physics:-g_[mu, nu], g__0[mu, nu], Physics:-gamma_[i, j], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(13)

Redefine now the metric as a conformal metric, but this time in terms of this tensor just defined representing the non-conformal metric

g_[mu, nu] = exp(2*Phi(X))*g__0[mu, nu]

Physics:-g_[mu, nu] = exp(2*Phi(X))*g__0[mu, nu]

(14)

Define(Physics[g_][mu, nu] = exp(2*Phi(X))*g__0[mu, nu])

{Physics:-D_[mu], Physics:-Dgamma[mu], Physics:-Psigma[mu], Physics:-Ricci[mu, nu], Physics:-Riemann[mu, nu, alpha, beta], Physics:-Weyl[mu, nu, alpha, beta], Physics:-d_[mu], Physics:-g_[mu, nu], g__0[mu, nu], Physics:-gamma_[i, j], Physics:-Christoffel[mu, nu, alpha], Physics:-Einstein[mu, nu], Physics:-LeviCivita[alpha, beta, mu, nu], Physics:-SpaceTimeVector[mu](X)}

(15)

Consider again the Christoffel definition

Christoffel[definition]

Physics:-Christoffel[alpha, mu, nu] = (1/2)*Physics:-d_[nu](Physics:-g_[alpha, mu], [X])+(1/2)*Physics:-d_[mu](Physics:-g_[alpha, nu], [X])-(1/2)*Physics:-d_[alpha](Physics:-g_[mu, nu], [X])

(16)

This is how you express it in terms of the non-conformal metric and with the factor exp(2*Phi) explicit

Substitute(g_[definition], Physics[Christoffel][alpha, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][alpha, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][alpha, nu], [X])-(1/2)*Physics[d_][alpha](Physics[g_][mu, nu], [X]))

Physics:-Christoffel[alpha, mu, nu] = (1/2)*Physics:-d_[nu](exp(2*Phi(X))*g__0[alpha, mu], [X])+(1/2)*Physics:-d_[mu](exp(2*Phi(X))*g__0[alpha, nu], [X])-(1/2)*Physics:-d_[alpha](exp(2*Phi(X))*g__0[mu, nu], [X])

(17)

By design Physics:-Substitute  works like subs. If you want it to work as eval, go with

Substitute(g_[definition], Physics[Christoffel][alpha, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][alpha, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][alpha, nu], [X])-(1/2)*Physics[d_][alpha](Physics[g_][mu, nu], [X]), evaluate)

Physics:-Christoffel[alpha, mu, nu] = Physics:-d_[nu](Phi(X), [X])*exp(2*Phi(X))*g__0[alpha, mu]+(1/2)*exp(2*Phi(X))*Physics:-d_[nu](g__0[alpha, mu], [X])+Physics:-d_[mu](Phi(X), [X])*exp(2*Phi(X))*g__0[alpha, nu]+(1/2)*exp(2*Phi(X))*Physics:-d_[mu](g__0[alpha, nu], [X])-Physics:-d_[alpha](Phi(X), [X])*exp(2*Phi(X))*g__0[mu, nu]-(1/2)*exp(2*Phi(X))*Physics:-d_[alpha](g__0[mu, nu], [X])

(18)

To the side, you realize that both (16) and (18) have the same components, also the same as (10)

subs(alpha = 1, Physics[Christoffel][alpha, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][alpha, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][alpha, nu], [X])-(1/2)*Physics[d_][alpha](Physics[g_][mu, nu], [X]))

Physics:-Christoffel[1, mu, nu] = (1/2)*Physics:-d_[nu](Physics:-g_[1, mu], [X])+(1/2)*Physics:-d_[mu](Physics:-g_[1, nu], [X])-(1/2)*Physics:-d_[1](Physics:-g_[mu, nu], [X])

(19)

lhs(Physics[Christoffel][1, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][1, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][1, nu], [X])-(1/2)*Physics[d_][1](Physics[g_][mu, nu], [X])) = TensorArray(rhs(Physics[Christoffel][1, mu, nu] = (1/2)*Physics[d_][nu](Physics[g_][1, mu], [X])+(1/2)*Physics[d_][mu](Physics[g_][1, nu], [X])-(1/2)*Physics[d_][1](Physics[g_][mu, nu], [X])))

Physics:-Christoffel[1, mu, nu] = Matrix(%id = 36893488151897029076)

(20)

subs(alpha = 1, Physics[Christoffel][alpha, mu, nu] = Physics[d_][nu](Phi(X), [X])*exp(2*Phi(X))*g__0[alpha, mu]+(1/2)*exp(2*Phi(X))*Physics[d_][nu](g__0[alpha, mu], [X])+Physics[d_][mu](Phi(X), [X])*exp(2*Phi(X))*g__0[alpha, nu]+(1/2)*exp(2*Phi(X))*Physics[d_][mu](g__0[alpha, nu], [X])-Physics[d_][alpha](Phi(X), [X])*exp(2*Phi(X))*g__0[mu, nu]-(1/2)*exp(2*Phi(X))*Physics[d_][alpha](g__0[mu, nu], [X]))

Physics:-Christoffel[1, mu, nu] = Physics:-d_[nu](Phi(X), [X])*exp(2*Phi(X))*g__0[1, mu]+(1/2)*exp(2*Phi(X))*Physics:-d_[nu](g__0[1, mu], [X])+Physics:-d_[mu](Phi(X), [X])*exp(2*Phi(X))*g__0[1, nu]+(1/2)*exp(2*Phi(X))*Physics:-d_[mu](g__0[1, nu], [X])-Physics:-d_[1](Phi(X), [X])*exp(2*Phi(X))*g__0[mu, nu]-(1/2)*exp(2*Phi(X))*Physics:-d_[1](g__0[mu, nu], [X])

(21)

lhs(Physics[Christoffel][1, mu, nu] = Physics[d_][nu](Phi(X), [X])*exp(2*Phi(X))*g__0[1, mu]+(1/2)*exp(2*Phi(X))*Physics[d_][nu](g__0[1, mu], [X])+Physics[d_][mu](Phi(X), [X])*exp(2*Phi(X))*g__0[1, nu]+(1/2)*exp(2*Phi(X))*Physics[d_][mu](g__0[1, nu], [X])-Physics[d_][1](Phi(X), [X])*exp(2*Phi(X))*g__0[mu, nu]-(1/2)*exp(2*Phi(X))*Physics[d_][1](g__0[mu, nu], [X])) = TensorArray(rhs(Physics[Christoffel][1, mu, nu] = Physics[d_][nu](Phi(X), [X])*exp(2*Phi(X))*g__0[1, mu]+(1/2)*exp(2*Phi(X))*Physics[d_][nu](g__0[1, mu], [X])+Physics[d_][mu](Phi(X), [X])*exp(2*Phi(X))*g__0[1, nu]+(1/2)*exp(2*Phi(X))*Physics[d_][mu](g__0[1, nu], [X])-Physics[d_][1](Phi(X), [X])*exp(2*Phi(X))*g__0[mu, nu]-(1/2)*exp(2*Phi(X))*Physics[d_][1](g__0[mu, nu], [X])))

Physics:-Christoffel[1, mu, nu] = Matrix(%id = 36893488152338993508)

(22)

The goodness of this approach where you redefine the metric (either of the two forms presented above) is that everything comes correctly defined in terms of the conformal metric, although if you want to see it in terms of the non-conformal metric and that factor you will always first need to express in terms of the metric, then substitute as in (17). For example,

Ricci[scalarsdefinition]

Phi__00 = -(1/2)*Physics:-Ricci[`~mu`, `~nu`]*Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-l_[nu], Phi__01 = -(1/2)*Physics:-Ricci[`~mu`, `~nu`]*Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-m_[nu], Phi__02 = -(1/2)*Physics:-Ricci[`~mu`, `~nu`]*Physics:-Tetrads:-m_[mu]*Physics:-Tetrads:-m_[nu], Phi__11 = -(1/4)*Physics:-Ricci[`~mu`, `~nu`]*(Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-n_[nu]+Physics:-Tetrads:-m_[mu]*Physics:-Tetrads:-mb_[nu]), Phi__12 = -(1/2)*Physics:-Ricci[`~mu`, `~nu`]*Physics:-Tetrads:-m_[mu]*Physics:-Tetrads:-n_[nu], Phi__22 = -(1/2)*Physics:-Ricci[`~mu`, `~nu`]*Physics:-Tetrads:-n_[mu]*Physics:-Tetrads:-n_[nu], Lambda = (1/24)*Physics:-Ricci[mu, `~mu`]

(23)

Take the first one and rewrite in terms of g_

convert((Phi__00 = -(1/2)*Physics[Ricci][`~mu`, `~nu`]*Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-l_[nu], Phi__01 = -(1/2)*Physics[Ricci][`~mu`, `~nu`]*Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-m_[nu], Phi__02 = -(1/2)*Physics[Ricci][`~mu`, `~nu`]*Physics:-Tetrads:-m_[mu]*Physics:-Tetrads:-m_[nu], Phi__11 = -(1/4)*Physics[Ricci][`~mu`, `~nu`]*(Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-n_[nu]+Physics:-Tetrads:-m_[mu]*Physics:-Tetrads:-mb_[nu]), Phi__12 = -(1/2)*Physics[Ricci][`~mu`, `~nu`]*Physics:-Tetrads:-m_[mu]*Physics:-Tetrads:-n_[nu], Phi__22 = -(1/2)*Physics[Ricci][`~mu`, `~nu`]*Physics:-Tetrads:-n_[mu]*Physics:-Tetrads:-n_[nu], Lambda = (1/24)*Physics[Ricci][mu, `~mu`])[1], g_)

Phi__00 = -(1/2)*Physics:-g_[`~lambda`, `~nu`]*Physics:-g_[`~kappa`, `~mu`]*((1/2)*Physics:-d_[alpha](Physics:-g_[`~alpha`, `~chi`], [X])*(Physics:-d_[lambda](Physics:-g_[chi, kappa], [X])+Physics:-d_[kappa](Physics:-g_[chi, lambda], [X])-Physics:-d_[chi](Physics:-g_[kappa, lambda], [X]))+(1/2)*Physics:-g_[`~alpha`, `~chi`]*(Physics:-d_[alpha](Physics:-d_[lambda](Physics:-g_[chi, kappa], [X]), [X])+Physics:-d_[alpha](Physics:-d_[kappa](Physics:-g_[chi, lambda], [X]), [X])-Physics:-d_[alpha](Physics:-d_[chi](Physics:-g_[kappa, lambda], [X]), [X]))-(1/2)*Physics:-d_[lambda](Physics:-g_[`~alpha`, `~tau`], [X])*Physics:-d_[kappa](Physics:-g_[alpha, tau], [X])-(1/2)*Physics:-g_[`~alpha`, `~tau`]*Physics:-d_[kappa](Physics:-d_[lambda](Physics:-g_[alpha, tau], [X]), [X])+(1/4)*Physics:-g_[`~beta`, `~omega`]*(Physics:-d_[lambda](Physics:-g_[kappa, omega], [X])+Physics:-d_[kappa](Physics:-g_[lambda, omega], [X])-Physics:-d_[omega](Physics:-g_[kappa, lambda], [X]))*Physics:-g_[`~alpha`, `~sigma`]*Physics:-d_[beta](Physics:-g_[alpha, sigma], [X])-(1/4)*Physics:-g_[`~beta`, `~psi`]*(Physics:-d_[kappa](Physics:-g_[alpha, psi], [X])+Physics:-d_[alpha](Physics:-g_[kappa, psi], [X])-Physics:-d_[psi](Physics:-g_[alpha, kappa], [X]))*Physics:-g_[`~alpha`, `~upsilon`]*(Physics:-d_[lambda](Physics:-g_[beta, upsilon], [X])+Physics:-d_[beta](Physics:-g_[lambda, upsilon], [X])-Physics:-d_[upsilon](Physics:-g_[beta, lambda], [X])))*Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-l_[nu]

(24)

Substitute(g_[definition], Phi__00 = -(1/2)*Physics[g_][`~lambda`, `~nu`]*Physics[g_][`~kappa`, `~mu`]*((1/2)*Physics[d_][alpha](Physics[g_][`~alpha`, `~chi`], [X])*(Physics[d_][lambda](Physics[g_][chi, kappa], [X])+Physics[d_][kappa](Physics[g_][chi, lambda], [X])-Physics[d_][chi](Physics[g_][kappa, lambda], [X]))+(1/2)*Physics[g_][`~alpha`, `~chi`]*(Physics[d_][alpha](Physics[d_][lambda](Physics[g_][chi, kappa], [X]), [X])+Physics[d_][alpha](Physics[d_][kappa](Physics[g_][chi, lambda], [X]), [X])-Physics[d_][alpha](Physics[d_][chi](Physics[g_][kappa, lambda], [X]), [X]))-(1/2)*Physics[d_][lambda](Physics[g_][`~alpha`, `~tau`], [X])*Physics[d_][kappa](Physics[g_][alpha, tau], [X])-(1/2)*Physics[g_][`~alpha`, `~tau`]*Physics[d_][kappa](Physics[d_][lambda](Physics[g_][alpha, tau], [X]), [X])+(1/4)*Physics[g_][`~beta`, `~omega`]*(Physics[d_][lambda](Physics[g_][kappa, omega], [X])+Physics[d_][kappa](Physics[g_][lambda, omega], [X])-Physics[d_][omega](Physics[g_][kappa, lambda], [X]))*Physics[g_][`~alpha`, `~sigma`]*Physics[d_][beta](Physics[g_][alpha, sigma], [X])-(1/4)*Physics[g_][`~beta`, `~psi`]*(Physics[d_][kappa](Physics[g_][alpha, psi], [X])+Physics[d_][alpha](Physics[g_][kappa, psi], [X])-Physics[d_][psi](Physics[g_][alpha, kappa], [X]))*Physics[g_][`~alpha`, `~upsilon`]*(Physics[d_][lambda](Physics[g_][beta, upsilon], [X])+Physics[d_][beta](Physics[g_][lambda, upsilon], [X])-Physics[d_][upsilon](Physics[g_][beta, lambda], [X])))*Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-l_[nu])

Phi__00 = -(1/2)*(exp(2*Phi(X)))^2*g__0[`~lambda`, `~nu`]*g__0[`~kappa`, `~mu`]*((1/2)*Physics:-d_[alpha](exp(2*Phi(X))*g__0[`~alpha`, `~chi`], [X])*(Physics:-d_[lambda](exp(2*Phi(X))*g__0[chi, kappa], [X])+Physics:-d_[kappa](exp(2*Phi(X))*g__0[chi, lambda], [X])-Physics:-d_[chi](exp(2*Phi(X))*g__0[kappa, lambda], [X]))+(1/2)*exp(2*Phi(X))*g__0[`~alpha`, `~chi`]*(Physics:-d_[alpha](Physics:-d_[lambda](exp(2*Phi(X))*g__0[chi, kappa], [X]), [X])+Physics:-d_[alpha](Physics:-d_[kappa](exp(2*Phi(X))*g__0[chi, lambda], [X]), [X])-Physics:-d_[alpha](Physics:-d_[chi](exp(2*Phi(X))*g__0[kappa, lambda], [X]), [X]))-(1/2)*Physics:-d_[lambda](exp(2*Phi(X))*g__0[`~alpha`, `~tau`], [X])*Physics:-d_[kappa](exp(2*Phi(X))*g__0[alpha, tau], [X])-(1/2)*exp(2*Phi(X))*g__0[`~alpha`, `~tau`]*Physics:-d_[kappa](Physics:-d_[lambda](exp(2*Phi(X))*g__0[alpha, tau], [X]), [X])+(1/4)*(exp(2*Phi(X)))^2*g__0[`~beta`, `~omega`]*(Physics:-d_[lambda](exp(2*Phi(X))*g__0[kappa, omega], [X])+Physics:-d_[kappa](exp(2*Phi(X))*g__0[lambda, omega], [X])-Physics:-d_[omega](exp(2*Phi(X))*g__0[kappa, lambda], [X]))*g__0[`~alpha`, `~sigma`]*Physics:-d_[beta](exp(2*Phi(X))*g__0[alpha, sigma], [X])-(1/4)*(exp(2*Phi(X)))^2*g__0[`~beta`, `~psi`]*(Physics:-d_[kappa](exp(2*Phi(X))*g__0[alpha, psi], [X])+Physics:-d_[alpha](exp(2*Phi(X))*g__0[kappa, psi], [X])-Physics:-d_[psi](exp(2*Phi(X))*g__0[alpha, kappa], [X]))*g__0[`~alpha`, `~upsilon`]*(Physics:-d_[lambda](exp(2*Phi(X))*g__0[beta, upsilon], [X])+Physics:-d_[beta](exp(2*Phi(X))*g__0[lambda, upsilon], [X])-Physics:-d_[upsilon](exp(2*Phi(X))*g__0[beta, lambda], [X])))*Physics:-Tetrads:-l_[mu]*Physics:-Tetrads:-l_[nu]

(25)

  NULL

Download Redefine_the_metric_(2).mw

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions

@acer 
I understand that you're presenting what you believe is the correct way to participate in this forum. But where are these supposed 'right rules' actually written? What about others who may think differently? 

Edgardo

@nm 
I saw your other post. And the problem. It is not at all the one you posted here. And it is indeed a bug, not noticed before, I voted up your evaporated question. I really wonder what is happening here, why people's posts/questions are deleted so easily.

From what I heard, this seems to be a problem in Maple's evalc; apparently there is already a fix being tested.

@nm 
The new `assuming/restore_previous_state` is not there in the current Maple nor in any of its Updates. So, no, you have no way to test it until it is included in an Updates. I could have included it in the Physics Updates, but I prefer to stick to the plan: fixes not related to Physics go into the Customer Support Updates. I understand that soon, perhaps even today, this touch in assuming implementing the idea described in my answer, it does resolve the problem, will be included in the next Maplesoft Customer Support Updates.

@nm
The problem, not related to Physics, is "fixed", as I described above, first item. So as said, (after the implementation is made available through some Updates) you will be able to adjust the scripts that you run adding the line mentioned, as in "try timelimit(...) catch: `assuming/restore_previous_state` end try" Ditto if you interrupt with the red button: input `assuming/restore_previous_state`; And in all cases that will restore the original state that assuming was unable to restore itself due to your manual interruption. The implementation of this idea is already in Maplesoft's library under development (not yet in the kernel - see the second item), so I'd imagine (the implementation of the first item) will appear in the next version of the Maplesoft Support Updates.

Best

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