Guest User

Untitled

a guest
Nov 22nd, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. g = ({
  2. {-Exp[2 α[r]], 0, 0, 0},
  3. {0, Exp[2 β[r]], 0, 0},
  4. {0, 0, r^2, 0},
  5. {0, 0, 0, r^2 Sin[θ]^2}
  6. }) ; T = ({
  7. {0, 0, 0, 0},
  8. {0, 0, 0, 0},
  9. {0, 0, 0, 0},
  10. {0, 0, 0, 0}
  11. }); var = {t, r, θ, ϕ};
  12. h = Inverse[g]; Print["Inverse Metric=" MatrixForm[h]];
  13.  
  14. Print[Style[
  15. "Christoffel Symbol", {Bold, Underlined, Larger}]]; Γ[
  16. i_, j_, k_] :=
  17. Sum[1/2 h[[i,
  18. l]] (D[g[[k, l]], var[[j]]] + D[g[[j, l]], var[[k]]] -
  19. D[g[[k, j]], var[[l]]]), {l, 1, 4}]; i := 1; j := 1; k := 1;
  20. For[i = 1, i <= 4, i++,
  21. For[j = 1, j <= 4, j++,
  22. For[If[j < k, k = j], k <= 4, k++,
  23. If[Γ[i, j, k] =!= 0,
  24. Print[Subscript[Γ, var[[j]], var[[k]]]^var[[i]],
  25. "=", FullSimplify[Γ[i, j, k]]]]]]];
  26.  
  27. Print[Style["Riemann Tensor", {Bold, Underlined, Larger}]];
  28. RiemannTensor[a_, b_, c_,
  29. d_] := (D[Γ[a, d, b],
  30. var[[c]]]) - (D[Γ[a, c, b],
  31. var[[d]]]) + Γ[a, c, 1] Γ[1, d,
  32. b] + Γ[a, c, 2] Γ[2, d,
  33. b] + Γ[a, c, 3] Γ[3, d,
  34. b] + Γ[a, c, 4] Γ[4, d,
  35. b] - Γ[a, d, 1] Γ[1, b,
  36. c] - Γ[a, d, 2] Γ[2, b,
  37. c] - Γ[a, d, 3] Γ[3, b,
  38. c] - Γ[a, d, 4] Γ[4, b,
  39. c]; a := 1; b := 1; c := 1; d := 1;
  40. For[a = 1, a <= 4, a++,
  41. For[b = 1, b <= 4, b++,
  42. For[c = 1, c <= 4, c++,
  43. For[If[c < d, d = c], d <= 4, d++,
  44. If[RiemannTensor[a, b, c, d] =!= 0,
  45. Print[Subscript[R^var[[a]], var[[b]], var[[c]], var[[d]]], "=",
  46. FullSimplify[RiemannTensor[a, b, c, d]]]]]]]];
  47.  
  48. Print[Style["Ricci Tensor", {Bold, Underlined, Larger}]];
  49. RicciTensor[m_, n_] :=
  50. Sum[RiemannTensor[soma, m, soma, n], {soma, 1, 4}]; m := 1; n := 1
  51. For[m = 1, m <= 4, m++,
  52. For[If[m < n, n = m], n <= 4, n++,
  53. If[RicciTensor[m, n] =!= 0,
  54. Print[Subscript[R, var[[m]], var[[n]]], "=",
  55. FullSimplify[RicciTensor[m, n]]]]]];
  56.  
  57. Clear[RicciTensor];
  58.  
  59. Print[Style[
  60. "Calculating Ricci Tensor directly, without Riemann Tensor", {Bold,
  61. Underlined, Larger}]]; alpha := 1; beta := 1;
  62. RicciTensor[alpha_, beta_] :=
  63. Sum[D[Γ[rho, beta, alpha], var[[rho]]] -
  64. D[Γ[rho, rho, alpha],
  65. var[[beta]]] + Γ[rho, rho, lambda] Γ[
  66. lambda, beta, alpha] - Γ[rho, beta,
  67. lambda] Γ[lambda, rho, alpha], {lambda, 1, 4,
  68. 1}, {rho, 1, 4, 1}];
  69. For[alpha = 1, alpha <= 4, alpha++,
  70. For[If[alpha <= beta, beta = alpha], beta <= 4, beta++,
  71. If[RicciTensor[alpha, beta] =!= 0,
  72. Print[Subscript[R, var[[alpha]], var[[beta]]], "=",
  73. FullSimplify[RicciTensor[alpha, beta]]]]]];
  74.  
  75. RicciTensor[alpha_, beta_] :=
  76. Sum[D[Γ[rho, beta, alpha], var[[rho]]] - D[Γ[rho, rho, alpha], var[[beta]]], {rho, 1, 4, 1}]
  77. + Sum[Γ[rho, rho, lambda] Γ[lambda, beta, alpha]
  78. - Γ[rho, beta, lambda] Γ[lambda, rho, alpha], {lambda, 1, 4, 1}, {rho, 1, 4, 1}];
Add Comment
Please, Sign In to add comment