Maple 18 Questions and Posts

These are Posts and Questions associated with the product, Maple 18

I have a system of pdes and solved numerically using pdsolve (numeric) command.

The system consists of four first order partial differentia equations.

for example u(x,t), R(x,t)....

what command should I give to the Maple and get the graph of u(x,t) at a specific point x_0?

For example, I need a plot for u(30,t).

Is it possible with the maple plot?

I really appreciate your help.

Thank you for reading this post. :)

 

Write a Maple code that performs the Gaussian elimination for an nxn matrix, converting it to an upper triangular matrix. 

(Hint: you will need to use three for .. do loops.)

I want to translate my maple code with matrice multiplication  to C code. But the command  "Multiply" cannot be translated. So I want to edit the function translation by myself. I use "AddFunction" command to create a new function  "Multiply" and want to specify its corresponding C code.

 


f := proc ()
local x,y;
x := Matrix([[1, 2], [3, 4]]);
y := Matrix([[1,3],[4,2]]);
Multiply(x, y);
NULL;
end proc;

LanguageDefinition:-Define("NewC", extend = "C", AddFunction("Multiply", [Matrix,Matrix]::Matrix,
proc (X, Y)
local a,b;
a := 2;
b := convert(a, string);
Printer:-Print("Mmultiply(", X);
Printer:-Print(",", Y, ")"); Printer:-Print("\n");
Printer:-Print("from", b, "to");
Printer:-Print(",", Y, "do") end proc, numeric = double));
Translate(f, language = "NewC")

 

But when I run it, the "Multiply" function cannot be translated.  The result is:

 

Warning, type signature [CodeGeneration:-Names:-ArrayType(integer,CodeGeneration:-Names:-ArrayRanges(1 .. 2,1 .. 2),CodeGeneration:-Names:-ArrayOptions()), CodeGeneration:-Names:-ArrayType(integer,CodeGeneration:-Names:-ArrayRanges(1 .. 2,1 .. 2),CodeGeneration:-Names:-ArrayOptions())] for function Multiply is not recognized
void f (void)
{
  int x[2][2];
  int y[2][2];
  x[0][0] = 1;
  x[0][1] = 2;
  x[1][0] = 3;
  x[1][1] = 4;
  y[0][0] = 1;
  y[0][1] = 3;
  y[1][0] = 4;
  y[1][1] = 2;
  Multiply(x, y);
  ;
}

I don't know why "Multiply(x,y)" cannot be translated.

If I put two "Multiply(x, y)" in the procedure, like this:


f := proc ()
local x,y;

Multiply(x, y);
x := Matrix([[1, 2], [3, 4]]);
y := Matrix([[1,3],[4,2]]);
Multiply(x, y);
NULL;
end proc;

LanguageDefinition:-Define("NewC", extend = "C", AddFunction("Multiply", [Matrix,Matrix]::Matrix,
proc (X, Y)
local a;
a := 2;
b := convert(a, string);
Printer:-Print("Mmultiply(", X);
Printer:-Print(",", Y, ")"); Printer:-Print("\n");
Printer:-Print("from", b, "to");
Printer:-Print(",", Y, "do") end proc, numeric = double));
Translate(f, language = "NewC")

THe result is:

Warning, cannot resolve types, reassigning x's type
Warning, cannot resolve types, reassigning y's type
Error, (in CodeGeneration:-IssueError) type 'Matrix' cannot be translated to target language

I don't know why type 'Matrix' cannot be translated.

 

 

Attached is a photo with the code I am working for.  

On the top is practice code with a simpler ODE to help with trouble shooting, on the bottom is the ODE I am working with.

I was hoping to gain insight about the _z1 symbol in the solution, I haven't been able to find much help on other threads.  I would like to know how I can go about working with it - if it is something on my end or if it is the nature of the equation I am working with.

 

Thank you for any help,

Josh

I have a nice procedure that is as follows, that explores the behaviour of a mapping in R^2.

InversePoincare := proc (v) options operator, arrow; v*Norm(v, 2)/(1-Norm(v, 2)^2) end proc

SphereVectorPlot := proc (T, radius, radiusIncrements, angleIncrements, lengthParam)
local listOfPairs;
listOfPairs := {seq(seq([[radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements], T(InversePoincare(`<,>`(radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements)))-InversePoincare(`<,>`(radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements))], r = 0 .. radiusIncrements), angle = 0 .. angleIncrements)};
if lengthParam = false then
 return arrow(listOfPairs, scaling = constrained, shape = arrow)
else
 return arrow(listOfPairs, length = lengthParam, scaling = constrained, shape = arrow)
end if
end proc

Essentially, we plot vectors v at location u. Since the vectors v in general vary wildly in magnitude, I would like to visualize the magnitude change by using color and/or transparency, preferably the latter. Is it possible to do so, and if so, how?

Hi,

Recently a a simple problem which i can not handle by myself, made me confused.

I have simple code of maple which is not stable at all. Everytime I run the code, the final result which is the determinant of a matrix, changes and I can not see the problem with the code. In fact i noticed that problem occures when the matrix is being build by culculating the coefficients of some constant values.  I have attached the code. Could you see what is wrong here?

Thanks by the way.

Download Code.mw

 

hi, is there a way to change color of the page in Maple 18? in fact I am preparing my lectures using slideshow option and want to change the color instead of the default white.

Hi,

I'm, trying to write a nested loop in maple, but I keep getting the Unterminated Loop error. I'm sure the solution is quite simple, but I haven't been able to find it. Any suggestions would be much appreciated. The loop looks like this:

 

i:=0:
di:=25:
n:=1:  

while (n<=nLimit) do
sol1:=fsolve(eq1, y=i..i+di)
     if type(sol1, numeric) = true then
     lambda(n) :=sol1
     i:=i+di
     n:=n+1
     else  i:=i+di
     end if:
end do:

 

Hello,

please explain how to write a code to calculate and output the actual area using integration for y=X^3 over range (0,2) using left-hand rule and 200 subdivisions?

 

Thank you 

please is there any one can help me to find a solution of a sytem of 3 non linear equations each with 3 variable and with more than 30 unknown coefficients

this is the system

solve({EEE_x(x, y, z) = 0, EEE_y(x, y, z) = 0, EEE_z(x, y, z) = 0}, {x, y, z})

where x,y,r are the unknowns

and the three equations are simply the partial derivative with respect to x,y and z repectively

EEE_x(x,y,z):=(&DifferentialD;)/(&DifferentialD; x) EE(x,y,z)

EEE_y(x,y,z):=(&DifferentialD;)/(&DifferentialD; y) EE(x,y,z)

EEE_z(x,y,z):=(&DifferentialD;)/(&DifferentialD;z)EE(x,y,z)

the main equation is EE where (it has 3 variables and more than 30 qunknowns coefficients

(x, y, z) ->

1
----------------------------------------------------------------
2
/ 2 2 2\
hh \ii + jj x + ll z + mm y + 100. y + nn y z + oo x + pp z /

/ 2 2 2 2 3 2
\p z y + q z y + l z x + g z x + o z y + n z x + m y x

2 2 2 3 2 2 2
+ j y x + k y x + i z y + d z y + f z x + h z y

2 2 4 3 2 3
+ e y x + u z y x + v z y x + a + b x + c x + r x + s z

2 2 4 3 4 \
+ t z + bb z + cc y + dd y + ee y + ff y + gg z + aa x/

 

This is a question I have also submitted to the technical support, I am worried that it is a bit too technical for them, however:)

I am debugging a C program which links against the OpenMaple API library (under Linux and with Maple 17 and 18). I am using valgrind memcheck, because I am experiencing strange behavior which could be due to writes beyond allocated blocks of memory.  

The first thing which jumps to my eye, are many errors of the types

Use of uninitialised value of size (4/8/16)

Invalid read of size (4/8/16)

Conditional jump or move depends on uninitialised value(s)

The same errors are also printed when I use the examples that ship with Maple. For instance, I compile "simple.c" with

gcc  -Wl,--no-as-needed -lmaple -lmaplec -lrt -L /usr/lib -L $MAPLEDIR/bin.X86_64_LINUX -I $MAPLEDIR/extern/include -o simple simple.c

and run valgrind as

valgrind --tool=memcheck --error-limit=no --log-file=memcheck.log ./simple

memcheck.txt 

Some, but not all, of the errors occur in __intel_sse2_strcpy or __intel_sse2_strlen. Furthermore, according to valgrind there are definite memory leaks. which appear in the library. 

Practically this makes it hard for me to identify my potential own errors. I am a bit surprised to see so many warnings because I tend to fix my own programs until memcheck does not print these anymore (before I give it away at least). The question is: Can I consider these errors as safe to ignore? How would I distinguish real errors which may appear in my application?

I'm trying to solve a system of four pdes and I know that the Newton method won't converge.

Are there other numerical methods that I can use?

Any help would be greatly appreciated!

Thanks,

Eve

I am trying to simplify equation 18 using equations 8 and 9. It should look a little like equation 21, but instead I get the results in equations 19 and 20.  I tried using different substituions, but algsubs gets the closest answer. A few terms are going to zero after the substitution.

When I substitute Z(X) then Zbar(X) terms vanish, and visa versa.


Initialize the metric and tetrad

 

restart; with(Physics); with(Tetrads)

0, "%1 is not a command in the %2 package", Tetrads, Physics

(1.1)

X = [zetabar, zeta, v, u]

X = [zetabar, zeta, v, u]

(1.2)

ds2 := Physics:-`*`(Physics:-`*`(2, dzeta), dzetabar)+Physics:-`*`(Physics:-`*`(2, du), dv)+Physics:-`*`(Physics:-`*`(2, H(zetabar, zeta, v, u)), (du+Physics:-`*`(Ybar(zetabar, zeta, v, u), dzeta)+Physics:-`*`(Y(zetabar, zeta, v, u), dzetabar)-Physics:-`*`(Physics:-`*`(Y(zetabar, zeta, v, u), Ybar(zetabar, zeta, v, u)), dv))^2)

2*dzeta*dzetabar+2*du*dv+2*H(zetabar, zeta, v, u)*(du+Ybar(zetabar, zeta, v, u)*dzeta+Y(zetabar, zeta, v, u)*dzetabar-Y(zetabar, zeta, v, u)*Ybar(zetabar, zeta, v, u)*dv)^2

(1.3)

PDEtools:-declare(ds2)

Ybar(zetabar, zeta, v, u)*`will now be displayed as`*Ybar

(1.4)

NULL

vierbien = Matrix([[1, 0, -Ybar(zetabar, zeta, v, u), 0], [0, 1, -Y(zetabar, zeta, v, u), 0], [Physics:-`*`(H(zetabar, zeta, v, u), Y(zetabar, zeta, v, u)), Physics:-`*`(H(zetabar, zeta, v, u), Ybar(zetabar, zeta, v, u)), 1-Physics:-`*`(Physics:-`*`(H(zetabar, zeta, v, u), Y(zetabar, zeta, v, u)), Ybar(zetabar, zeta, v, u)), H(zetabar, zeta, v, u)], [Y(zetabar, zeta, v, u), Ybar(zetabar, zeta, v, u), -Physics:-`*`(Y(zetabar, zeta, v, u), Ybar(zetabar, zeta, v, u)), 1]])

vierbien = (Matrix(4, 4, {(1, 1) = 1, (1, 2) = 0, (1, 3) = -Ybar(zetabar, Zeta, v, u), (1, 4) = 0, (2, 1) = 0, (2, 2) = 1, (2, 3) = -Y(zetabar, Zeta, v, u), (2, 4) = 0, (3, 1) = H(zetabar, Zeta, v, u)*Y(zetabar, Zeta, v, u), (3, 2) = H(zetabar, Zeta, v, u)*Ybar(zetabar, Zeta, v, u), (3, 3) = 1-H(zetabar, Zeta, v, u)*Y(zetabar, Zeta, v, u)*Ybar(zetabar, Zeta, v, u), (3, 4) = H(zetabar, Zeta, v, u), (4, 1) = Y(zetabar, Zeta, v, u), (4, 2) = Ybar(zetabar, Zeta, v, u), (4, 3) = -Y(zetabar, Zeta, v, u)*Ybar(zetabar, Zeta, v, u), (4, 4) = 1}))

(1.5)

``

NULL

Setup(tetrad = rhs(vierbien = Matrix(%id = 18446744078408794830)), metric = ds2, mathematicalnotation = true, automaticsimplification = true, coordinatesystems = (X = [zetabar, zeta, v, u]), signature = "+++-")

[automaticsimplification = true, coordinatesystems = {X}, mathematicalnotation = true, metric = {(1, 1) = 2*H(X)*Y(X)^2, (1, 2) = 1+2*H(X)*Y(X)*Ybar(X), (1, 3) = -2*H(X)*Y(X)^2*Ybar(X), (1, 4) = 2*H(X)*Y(X), (2, 2) = 2*H(X)*Ybar(X)^2, (2, 3) = -2*H(X)*Ybar(X)^2*Y(X), (2, 4) = 2*H(X)*Ybar(X), (3, 3) = 2*H(X)*Y(X)^2*Ybar(X)^2, (3, 4) = 1-2*H(X)*Y(X)*Ybar(X), (4, 4) = 2*H(X)}, signature = `+ + + -`, tetrad = {(1, 1) = 1, (1, 3) = -Ybar(X), (2, 2) = 1, (2, 3) = -Y(X), (3, 1) = H(X)*Y(X), (3, 2) = H(X)*Ybar(X), (3, 3) = 1-H(X)*Y(X)*Ybar(X), (3, 4) = H(X), (4, 1) = Y(X), (4, 2) = Ybar(X), (4, 3) = -Y(X)*Ybar(X), (4, 4) = 1}]

(1.6)

``

Verification of Tetrad

 

I will try to verify the tetrad from (Kerr and Schild (1965)). However, the tetrad given in the paper seems to have the third tetrad with the wrong sign. I changed the sign and get the correct verification,

    e_[]

`&efr;`[a, mu] = (Matrix(4, 4, {(1, 1) = 1, (1, 2) = 0, (1, 3) = -Ybar(X), (1, 4) = 0, (2, 1) = 0, (2, 2) = 1, (2, 3) = -Y(X), (2, 4) = 0, (3, 1) = H(X)*Y(X), (3, 2) = H(X)*Ybar(X), (3, 3) = 1-H(X)*Y(X)*Ybar(X), (3, 4) = H(X), (4, 1) = Y(X), (4, 2) = Ybar(X), (4, 3) = -Y(X)*Ybar(X), (4, 4) = 1}))

(2.1)

g_[]

g[mu, nu] = (Matrix(4, 4, {(1, 1) = 2*H(X)*Y(X)^2, (1, 2) = 1+2*H(X)*Y(X)*Ybar(X), (1, 3) = -2*H(X)*Y(X)^2*Ybar(X), (1, 4) = 2*H(X)*Y(X), (2, 1) = 1+2*H(X)*Y(X)*Ybar(X), (2, 2) = 2*H(X)*Ybar(X)^2, (2, 3) = -2*H(X)*Ybar(X)^2*Y(X), (2, 4) = 2*H(X)*Ybar(X), (3, 1) = -2*H(X)*Y(X)^2*Ybar(X), (3, 2) = -2*H(X)*Ybar(X)^2*Y(X), (3, 3) = 2*H(X)*Y(X)^2*Ybar(X)^2, (3, 4) = 1-2*H(X)*Y(X)*Ybar(X), (4, 1) = 2*H(X)*Y(X), (4, 2) = 2*H(X)*Ybar(X), (4, 3) = 1-2*H(X)*Y(X)*Ybar(X), (4, 4) = 2*H(X)}))

(2.2)

Physics:-`*`(e_[a, mu], e_[a, nu]) = g_[mu, nu]

Physics:-Tetrads:-e_[a, mu]*Physics:-Tetrads:-e_[`~a`, nu] = Physics:-g_[mu, nu]

(2.3)

TensorArray(Physics:-Tetrads:-e_[a, mu]*Physics:-Tetrads:-e_[`~a`, nu] = Physics:-g_[mu, nu])

Matrix(4, 4, {(1, 1) = 2*H(X)*Y(X)^2 = 2*H(X)*Y(X)^2, (1, 2) = 1+2*H(X)*Y(X)*Ybar(X) = 1+2*H(X)*Y(X)*Ybar(X), (1, 3) = -2*H(X)*Y(X)^2*Ybar(X) = -2*H(X)*Y(X)^2*Ybar(X), (1, 4) = 2*H(X)*Y(X) = 2*H(X)*Y(X), (2, 1) = 1+2*H(X)*Y(X)*Ybar(X) = 1+2*H(X)*Y(X)*Ybar(X), (2, 2) = 2*H(X)*Ybar(X)^2 = 2*H(X)*Ybar(X)^2, (2, 3) = -2*H(X)*Ybar(X)^2*Y(X) = -2*H(X)*Ybar(X)^2*Y(X), (2, 4) = 2*H(X)*Ybar(X) = 2*H(X)*Ybar(X), (3, 1) = -2*H(X)*Y(X)^2*Ybar(X) = -2*H(X)*Y(X)^2*Ybar(X), (3, 2) = -2*H(X)*Ybar(X)^2*Y(X) = -2*H(X)*Ybar(X)^2*Y(X), (3, 3) = 2*H(X)*Y(X)^2*Ybar(X)^2 = 2*H(X)*Y(X)^2*Ybar(X)^2, (3, 4) = 1-2*H(X)*Y(X)*Ybar(X) = 1-2*H(X)*Y(X)*Ybar(X), (4, 1) = 2*H(X)*Y(X) = 2*H(X)*Y(X), (4, 2) = 2*H(X)*Ybar(X) = 2*H(X)*Ybar(X), (4, 3) = 1-2*H(X)*Y(X)*Ybar(X) = 1-2*H(X)*Y(X)*Ybar(X), (4, 4) = 2*H(X) = 2*H(X)})

(2.4)

Physics:-`*`(e_[a, mu], e_[b, mu]) = eta_[a, b]

Physics:-Tetrads:-e_[a, mu]*Physics:-Tetrads:-e_[b, `~mu`] = Physics:-Tetrads:-eta_[a, b]

(2.5)

NULL

TensorArray(Physics:-Tetrads:-e_[a, mu]*Physics:-Tetrads:-e_[b, `~mu`] = Physics:-Tetrads:-eta_[a, b])

Matrix(4, 4, {(1, 1) = 0 = 0, (1, 2) = 1 = 1, (1, 3) = 0 = 0, (1, 4) = 0 = 0, (2, 1) = 1 = 1, (2, 2) = 0 = 0, (2, 3) = 0 = 0, (2, 4) = 0 = 0, (3, 1) = 0 = 0, (3, 2) = 0 = 0, (3, 3) = 0 = 0, (3, 4) = 1 = 1, (4, 1) = 0 = 0, (4, 2) = 0 = 0, (4, 3) = 1 = 1, (4, 4) = 0 = 0})

(2.6)

``

gamma_[4, 2, 1]

diff(Y(X), zeta)-(diff(Y(X), u))*Ybar(X)

(2.7)

SumOverRepeatedIndices(Physics:-`*`(Physics:-`*`(D_[nu](e_[4, mu]), e_[2, mu]), e_[1, `~nu`]))

diff(Y(X), zeta)-(diff(Y(X), u))*Ybar(X)

(2.8)

NULL

``

For equation 2.8 we get the following:

SumOverRepeatedIndices(Physics:-`*`(Physics:-`*`(Riemann[`~sigma`, rho, mu, nu], e_[4, `~rho`]), e_[4, `~nu`]))

(-Physics:-Riemann[`~sigma`, 4, 4, mu]*Y(X)^2+(Physics:-Riemann[`~sigma`, 4, 1, mu]+Physics:-Riemann[`~sigma`, 1, 4, mu])*Y(X)-Physics:-Riemann[`~sigma`, 1, 1, mu])*Ybar(X)^2+((Physics:-Riemann[`~sigma`, 2, 4, mu]+Physics:-Riemann[`~sigma`, 4, 2, mu])*Y(X)^2+(-Physics:-Riemann[`~sigma`, 2, 1, mu]+Physics:-Riemann[`~sigma`, 3, 4, mu]+Physics:-Riemann[`~sigma`, 4, 3, mu]-Physics:-Riemann[`~sigma`, 1, 2, mu])*Y(X)-Physics:-Riemann[`~sigma`, 3, 1, mu]-Physics:-Riemann[`~sigma`, 1, 3, mu])*Ybar(X)-Physics:-Riemann[`~sigma`, 2, 2, mu]*Y(X)^2+(-Physics:-Riemann[`~sigma`, 2, 3, mu]-Physics:-Riemann[`~sigma`, 3, 2, mu])*Y(X)-Physics:-Riemann[`~sigma`, 3, 3, mu]

(1)

 

Now we replicate eqn 2.16. These are the conditions for e[4,mu] to be geodesic and shear-free. The outputs are eqn 3.5.

 

gamma_[4, 1, 1] = 0

diff(Ybar(X), zeta)-(diff(Ybar(X), u))*Ybar(X) = 0

(2)

gamma_[4, 2, 2] = 0

diff(Y(X), zetabar)-(diff(Y(X), u))*Y(X) = 0

(3)

gamma_[1, 4, 4] = 0

(diff(Ybar(X), u))*Y(X)*Ybar(X)-Y(X)*(diff(Ybar(X), zeta))-Ybar(X)*(diff(Ybar(X), zetabar))-(diff(Ybar(X), v)) = 0

(4)

gamma_[2, 4, 4] = 0

(diff(Y(X), u))*Y(X)*Ybar(X)-Y(X)*(diff(Y(X), zeta))-(diff(Y(X), zetabar))*Ybar(X)-(diff(Y(X), v)) = 0

(5)

gamma_[3, 4, 4] = 0

0 = 0

(6)

gamma_[4, 4, 4] = 0

0 = 0

(7)

shearconditions := {diff(Y(X), zetabar)-(diff(Y(X), u))*Y(X) = 0, diff(Ybar(X), zeta)-(diff(Ybar(X), u))*Ybar(X) = 0, (diff(Y(X), u))*Y(X)*Ybar(X)-Y(X)*(diff(Y(X), zeta))-(diff(Y(X), zetabar))*Ybar(X)-(diff(Y(X), v)) = 0, (diff(Ybar(X), u))*Y(X)*Ybar(X)-Y(X)*(diff(Ybar(X), zeta))-Ybar(X)*(diff(Ybar(X), zetabar))-(diff(Ybar(X), v)) = 0}:

 

Now we can define the rotation coefficients associated with rotation and expansion z = theta - i omega

 

gamma_[2, 4, 1] = Z(X)

-(diff(Y(X), zeta))+(diff(Y(X), u))*Ybar(X) = Z(X)

(8)

gamma_[1, 4, 2] = Zbar(X)

-(diff(Ybar(X), zetabar))+(diff(Ybar(X), u))*Y(X) = Zbar(X)

(9)

PDEtools:-declare(Z(X), Zbar(X))

Zbar(zetabar, zeta, v, u)*`will now be displayed as`*Zbar

(10)

Zdefinitions := {-(diff(Y(X), zeta))+(diff(Y(X), u))*Ybar(X) = Z(X), -(diff(Ybar(X), zetabar))+(diff(Ybar(X), u))*Y(X) = Zbar(X)}

{-(diff(Y(X), zeta))+(diff(Y(X), u))*Ybar(X) = Z(X), -(diff(Ybar(X), zetabar))+(diff(Ybar(X), u))*Y(X) = Zbar(X)}

(11)

We now show that the tetrad vectors are propogated parallel along each curve of the congruence of null geodesics which have e[4,~mu] as tangents.

 

   

We now use the tetrad form of the Ricci tensor. In order to use this in Maple we need to create a Ricci Tensor Tetrad function.

 

RicciT := proc (a, b) options operator, arrow; SumOverRepeatedIndices(Ricci[mu, nu]*e_[a, `~mu`]*e_[b, `~nu`]) end proc

proc (a, b) options operator, arrow; Physics:-SumOverRepeatedIndices(Physics:-`*`(Physics:-`*`(Physics:-Ricci[mu, nu], Physics:-Tetrads:-e_[a, `~mu`]), Physics:-Tetrads:-e_[b, `~nu`])) end proc

(12)

SlashD := proc (f, a) options operator, arrow; SumOverRepeatedIndices(D_[b](f)*e_[a, `~b`]) end proc

proc (f, a) options operator, arrow; Physics:-SumOverRepeatedIndices(Physics:-`*`(Physics:-D_[b](f), Physics:-Tetrads:-e_[a, `~b`])) end proc

(13)

SlashD(f(X), 1)

diff(f(X), zeta)-Ybar(X)*(diff(f(X), u))

(14)

SlashD(f(X), 2)

diff(f(X), zetabar)-Y(X)*(diff(f(X), u))

(15)

SlashD(f(X), 3)

(1+H(X)*Y(X)*Ybar(X))*(diff(f(X), u))-H(X)*((diff(f(X), zeta))*Y(X)+Ybar(X)*(diff(f(X), zetabar))+diff(f(X), v))

(16)

SlashD(f(X), 4)

-Y(X)*Ybar(X)*(diff(f(X), u))+(diff(f(X), zeta))*Y(X)+Ybar(X)*(diff(f(X), zetabar))+diff(f(X), v)

(17)

NULL

The geodesic and shear free condition given by Lemma 1 in (Goldberg and Sachs (1962)). Kerr uses the fourth tetrad instead of the third so we need to modify the Ricci tensor conditions. The equations (2) - (5) enforce the first Lemma.

 

   

 

Notice that none of the previous Ricci conditions can be used to solve for H.  We can use the remaining field equations to find the partial differential equations necessary to derive the metric.

 

  simplify(RicciT(1, 2), shearconditions) = 0

H(X)*(diff(diff(Y(X), zeta), zetabar))*Ybar(X)-H(X)*Ybar(X)*Y(X)*(diff(diff(Ybar(X), u), zetabar))-H(X)*Ybar(X)^2*(diff(diff(Y(X), u), zetabar))-H(X)*Y(X)^2*(diff(diff(Ybar(X), u), zeta))-2*H(X)*Y(X)*Ybar(X)*(diff(diff(Y(X), u), zeta))+H(X)*Y(X)^2*Ybar(X)*(diff(diff(Ybar(X), u), u))-H(X)*Y(X)*(diff(diff(Ybar(X), u), v))+H(X)*Y(X)*Ybar(X)^2*(diff(diff(Y(X), u), u))-H(X)*(diff(diff(Y(X), u), v))*Ybar(X)+H(X)*(diff(Ybar(X), zetabar))^2+(-3*H(X)*Y(X)*(diff(Ybar(X), u))-(diff(H(X), u))*Y(X)*Ybar(X)+(diff(H(X), zeta))*Y(X)+(diff(H(X), zetabar))*Ybar(X)+diff(H(X), v))*(diff(Ybar(X), zetabar))+H(X)*(diff(Y(X), zeta))^2+(-4*H(X)*(diff(Y(X), u))*Ybar(X)-(diff(H(X), u))*Y(X)*Ybar(X)+(diff(H(X), zeta))*Y(X)+(diff(H(X), zetabar))*Ybar(X)+diff(H(X), v))*(diff(Y(X), zeta))+2*H(X)*Y(X)^2*(diff(Ybar(X), u))^2-Y(X)*(-(diff(H(X), u))*Y(X)*Ybar(X)+(diff(H(X), zeta))*Y(X)+(diff(H(X), zetabar))*Ybar(X)+diff(H(X), v))*(diff(Ybar(X), u))+2*(H(X)*(diff(Y(X), u))*Ybar(X)+(1/2)*(diff(H(X), u))*Y(X)*Ybar(X)-(1/2)*(diff(H(X), zeta))*Y(X)-(1/2)*(diff(H(X), zetabar))*Ybar(X)-(1/2)*(diff(H(X), v)))*(diff(Y(X), u))*Ybar(X) = 0

(18)

-(diff(H(X), zetabar))*Ybar(X)*Z(X)-Y(X)*(diff(H(X), zeta))*Z(X)-H(X)*(diff(Y(X), zeta))^2+Z(X)*((diff(H(X), u))*Y(X)*Ybar(X)+2*H(X)*Z(X)-(diff(H(X), v))) = 0

-(diff(H(X), zetabar))*Ybar(X)*Z(X)-(diff(H(X), zeta))*Y(X)*Z(X)-H(X)*(diff(Y(X), zeta))^2-Z(X)*(-(diff(H(X), u))*Y(X)*Ybar(X)-2*H(X)*Z(X)+diff(H(X), v)) = 0

(19)

Zbar(X)*(-(diff(H(X), v))-(diff(H(X), zetabar))*Ybar(X)-(diff(H(X), zeta))*Y(X)+(diff(H(X), u))*Y(X)*Ybar(X)+H(X)*(diff(Ybar(X), zetabar)+2*Zbar(X))) = 0

-Zbar(X)*(-(diff(H(X), u))*Y(X)*Ybar(X)+(diff(H(X), zeta))*Y(X)+(diff(H(X), zetabar))*Ybar(X)-H(X)*(diff(Ybar(X), zetabar))-2*H(X)*Zbar(X)+diff(H(X), v)) = 0

(20)

Physics:-`*`(SlashD(H(X), 4), Z(X)+Zbar(X)) = Physics:-`*`(H(X), SlashD(Z(X), 4)+SlashD(Zbar(X), 4))

-(-(diff(H(X), v))-(diff(H(X), zeta))*Y(X)+Ybar(X)*((diff(H(X), u))*Y(X)-(diff(H(X), zetabar))))*(Z(X)+Zbar(X)) = H(X)*(-Y(X)*Ybar(X)*(diff(Z(X), u))+Ybar(X)*(diff(Z(X), zetabar))+Y(X)*(diff(Z(X), zeta))+diff(Z(X), v)-Y(X)*Ybar(X)*(diff(Zbar(X), u))+Ybar(X)*(diff(Zbar(X), zetabar))+Y(X)*(diff(Zbar(X), zeta))+diff(Zbar(X), v))

(21)

``

NULL

NULL


Download Deriving_the_Kerr_Metric.mw

Hi,

 

I'm trying to create interactive plots by using Explore to help demonstrate the effects parameters have on functions. I created one successfully to illustrate shifts and stretches of a polynomial:

 

transform(A,B,X,H,P,K):=Explore(plot(a*(b*x+h)^(p)+k,x=X),parameters=[a=A, b= B,h=H,p=P,k=K],placement=right)

 

However when I try to do the same with a solved ODE it returns an error message:

 

Explore(plot(1/(-p*x+x+1)^(1/(p-1)), x = -5 .. 5), parameters = [p = -20 .. 20], placement = right);

 

Executing this gives the error message: 

Warning, expecting only range variable x in expression 1/((-p*x+x+1)^(1/(p-1))) to be plotted but found name p
INTERFACE_PLOT(AXESLABELS(x, ""),

VIEW(-5. .. 5., DEFAULT, _ATTRIBUTE("source" = "mathdefault"))),

parameters = [p = -20 .. 20], placement = right

 

I'm not sure why it is having difficulty dealing with "p" when it had no difficulty with the first. Any help would be appreciated!

Hello

I wantt to assigne value to a variable that doesn't exist before the radio button. How can i do that?

Could you please help me?

First 7 8 9 10 11 12 13 Last Page 9 of 65