-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial checkin: GRG 3.2 Release 6 (July 16, 2000)
- Loading branch information
0 parents
commit f8c7dc1
Showing
44 changed files
with
27,471 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
The system with source code and documentation is distributed | ||
in the hope that it will be useful but without any warranty. | ||
You may modify it for personal use, but you are not allowed | ||
to remove author's name and/or to distribute modified files. | ||
|
||
Vadim V. Zhytnikov | ||
Physics Department, Faculty of Mathematics, | ||
Moscow State Pedagogical University, | ||
Davydovskii per. 4, Moscow 107140, Russia | ||
Tel(home): (095) 188-16-11 | ||
E-mail: [email protected] | ||
[email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# GRG | ||
|
||
## Computer Algebra System for Differential Geometry, Gravitation and Field Theory | ||
|
||
The computer algebra system GRG is designed to make calculation in differential geometry and field theory as simple and natural as possible. GRG is based on the computer algebra system REDUCE but GRG has its own simple input language whose commands resemble short English phrases. | ||
|
||
GRG understands tensors, spinors, vectors, differential forms and knows all standard operations with these quantities. Input form for mathematical expressions is very close to traditional mathematical notation including Einstein summation rule. GRG knows covariant properties of the objects: one can easily raise and lower indices, compute covariant and Lie derivatives, perform coordinate and frame transformations etc. GRG works in any dimension and allows one to represent tensor quantities with respect to holonomic, orthogonal and even any other arbitrary frame. | ||
|
||
One of the key features of GRG is that it knows a large number of built-in usual field-theoretical and geometrical quantities and formulas for their computation providing ready solutions to many standard problems. | ||
|
||
Another unique feature of GRG is that it can export results of calculations into other computer algebra system such as Maple, Mathematica, Macsyma or REDUCE in order to use these systems to proceed with analysis of the data. The LaTeX output format is supported as well. GRG is compatible with the REDUCE graphics shells providing nice book-quality output with Greek letters, integral signs etc. | ||
|
||
The main built-in GRG capabilities are: | ||
|
||
- Connection, torsion and nonmetricity. | ||
- Curvature. | ||
- Spinorial formalism. | ||
- Irreducible decomposition of the curvature, torsion, and nonmetricity in any dimension. | ||
- Einstein equations. | ||
- Scalar field with minimal and non-minimal interaction. | ||
- Electromagnetic field. | ||
- Yang-Mills field. | ||
- Dirac spinor field. | ||
- Geodesic equation. | ||
- Null congruences and optical scalars. | ||
- Kinematics for time-like congruences. | ||
- Ideal and spin fluid. | ||
- Newman-Penrose formalism. | ||
- Gravitational equations for the theory with arbitrary gravitational Lagrangian in Riemann and Riemann-Cartan spaces. | ||
|
||
The detailed documentation including complete manual and short reference guide is provided. | ||
|
||
GRG is free of charge. | ||
|
||
The address for correspondence: | ||
|
||
```text | ||
Vadim V. Zhytnikov | ||
Physics Department, Faculty of Mathematics, | ||
Moscow State Pedagogical University, | ||
Davydovskii per. 4, Moscow 107140, Russia | ||
Telephone (Home): (095) 188-16-11 | ||
E-mail: [email protected] | ||
E-mail: [email protected] | ||
Subject: for Zhytnikov | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
Output "bondi.out"; | ||
Zero Time; | ||
Comment: Bondi metric; | ||
Coordinates u,r,theta,phi; | ||
Functions Beta(u,r,theta),V(u,r,theta),U(u,r,theta),Gamma(u,r,theta); | ||
Null Metric; | ||
Frame | ||
T0 = e^Beta*d u, | ||
T1 = e^Beta*(d r + (V/r)*d u), | ||
T2 = r*(-U*e^Gamma*d u+e^Gamma*d theta | ||
+i*sin(theta)*e^(-Gamma)*d phi)/sqrt(2), | ||
T3 = r*(-U*e^Gamma*d u+e^Gamma*d theta | ||
-i*sin(theta)*e^(-Gamma)*d phi)/sqrt(2); | ||
Off WRS; | ||
Find and Write Curvature Spinors; | ||
Time; | ||
Quit; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
Output "bondi.out"; | ||
Zero Time; | ||
Comment: Bondi metric; | ||
Coordinates u,r,theta,phi; | ||
Functions Beta(u,r,theta),V(u,r,theta),U(u,r,theta),Gamma(u,r,theta); | ||
Null Metric; | ||
Frame | ||
T0 = E^Beta*d u, | ||
T1 = E^Beta*(d r + (V/r)*d u), | ||
T2 = r*(-U*E^Gamma*d u+E^Gamma*d theta | ||
+I*SIN(theta)*E^(-Gamma)*d phi)/SQRT(2), | ||
T3 = r*(-U*E^Gamma*d u+E^Gamma*d theta | ||
-I*SIN(theta)*E^(-Gamma)*d phi)/SQRT(2); | ||
Off WRS; | ||
Find and Write Curvature Spinors; | ||
Time; | ||
Quit; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
|
||
This file is part of GRG 3.2 Copyright (C) 1997 Vadim V. Zhytnikov | ||
|
||
Disclaimer: The opinion expressed here is the opinion of V.Zhytnikov | ||
and nobody else. | ||
|
||
|
||
GRG 3.2 versus EXCALC | ||
|
||
The GRG 3.2 and EXCALC are two rather similar programs. Both are | ||
based on the computer algebra system REDUCE and designed for the | ||
problems in differential geometry. They work with the differential | ||
forms, vectors, tensors and use convenient notation very similar | ||
to the traditional mathematical one. Both programs work with spaces | ||
of any dimensionality and can represent tensors with respect to | ||
arbitrary frame. | ||
|
||
On the other hand there are also a number of important differences | ||
between EXCALC and GRG 3.2. In particular: | ||
|
||
1. EXCALC works with tensors whose components are presented with | ||
respect to certain frame. GRG 3.2 understands more complicate | ||
quantities having coordinate, frame, spinorial and enumerating | ||
indices. GRG 3.2 understands also pseudo-tensors and tensor | ||
densities. I'd like to emphasize also GRG's ability to work with | ||
spinors. | ||
|
||
2. Working with tensors EXCALC actually knows very little about the | ||
"covariant" properties of these quantities. On the other hand | ||
GRG knows all standard covariant operations and operators. | ||
In particular GRG 3.2 performs frame, spinor and coordinate | ||
transformations. It automatically computes Lie derivatives, | ||
covariant derivatives and differentials of any tensor or spinor | ||
quantity. GRG can easily transform the frame indices to coordinate | ||
ones and vice versa. | ||
|
||
3. GRG 3.2 allows one to save the result of computations in | ||
the form which can be later used in other computer algebra | ||
programs: Mathematica, Maple and Macsyma. | ||
|
||
4. Unlike EXCALC the GRG 3.2 knows almost 150 built-in quantities | ||
and numerous built-in formulas for their calculation. So, in | ||
GRG you have already solutions for many standard problems. | ||
On the contrary to obtain any result with EXCALC it is | ||
necessary to write your own program. | ||
|
||
5. GRG requires all variables and functions to be declared which | ||
makes it more reliable than EXCALC. | ||
|
||
6. The input languages of GRG and EXCALC are very different. | ||
EXCALC in fact has no any special language and uses the | ||
REDUCE programming language with all control instructions: | ||
loops, if-then-else, procedures etc. GRG uses the completely | ||
different approach. It has its own quite simple language | ||
which lacks the aforementioned programming facilities. | ||
Commands of GRG input language resemble simple English | ||
phrases. This is especially convenient for people who are | ||
not interested (or skillful) in programming. | ||
|
||
7. The performance of both programs (say the run time for | ||
analogous problems) is approximately equal. | ||
|
||
8. The advantage of EXCALC is that it can operate with abstract | ||
p-forms while in GRG any p-form is always represented | ||
as the exterior product of p frame 1-forms (frame may be | ||
arbitrary). | ||
|
||
9. Another potential advantage of EXCALC is the ability to compute | ||
the variational derivatives. Unfortunately in practice this | ||
facility is rather limited and buggy. | ||
|
||
---------------------------------------------------------------------- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
off echo$ | ||
%==========================================================================% | ||
% GRG 3.2 Compilation [CSL] (C) 1988-97 Vadim V. Zhytnikov % | ||
%==========================================================================% | ||
% This file is distributed without any warranty. You may modify it but you % | ||
% are not allowed to remove author's name and/or distribute modified file. % | ||
%==========================================================================% | ||
|
||
<< prin2 "Compiling GRG 3.2, wait few minutes."; terpri() >>$ | ||
|
||
out "grgcomp.log"$ | ||
|
||
in "expand.csl"$ | ||
|
||
lisp$ | ||
|
||
off lower$ | ||
off raise$ | ||
|
||
rdf "xdecl.sl"$ | ||
|
||
load!_package compiler$ | ||
|
||
faslout "grgdecl" $ rdf "xdecl.sl" $ faslend$ | ||
faslout "grggeom" $ rdf "xgeom.sl" $ faslend$ | ||
faslout "grggrav" $ rdf "xgrav.sl" $ faslend$ | ||
faslout "grginit" $ rdf "xinit.sl" $ faslend$ | ||
faslout "grgclass"$ rdf "xclass.sl"$ faslend$ | ||
faslout "grgcomm" $ rdf "xcomm.sl" $ faslend$ | ||
faslout "grgcoper"$ rdf "xcoper.sl"$ faslend$ | ||
faslout "grgmain" $ rdf "xmain.sl" $ faslend$ | ||
faslout "grgmater"$ rdf "xmater.sl"$ faslend$ | ||
faslout "grgprin" $ rdf "xprin.sl" $ faslend$ | ||
faslout "grgproc" $ rdf "xproc.sl" $ faslend$ | ||
faslout "grgtrans"$ rdf "xtrans.sl"$ faslend$ | ||
faslout "grgcfg" $ rdf "grgcfg.sl"$ faslend$ | ||
faslout "grg32" $ rdf "grg32.sl" $ faslend$ | ||
faslout "grg" $ rdf "grg.sl" $ faslend$ | ||
|
||
shut "grgcomp.log"$ | ||
|
||
<< terpri(); prin2 "GRG has been compiled."; terpri(); >>$ | ||
|
||
bye$ | ||
|
||
end; | ||
|
||
%==========================================================================% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
off echo$ | ||
% This file is the part of GRG 3.2 (C) 1997 V.V.Zhytnikov | ||
lisp$ | ||
begin | ||
psl := getd 'dskin; | ||
low := getd '!c!a!r; | ||
if psl then lis := "PSL" else lis:= "CSL"; | ||
if low then cas := "Lower" else cas := "Upper"; | ||
prin2 "This REDUCE is based on "; | ||
prin2 lis; | ||
prin2 " and is "; | ||
prin2 cas; | ||
prin2 "-Cased."; | ||
terpri(); | ||
if low then << | ||
prin2 "Use lower-case symbols for built-in constants and functions:"; | ||
terpri(); | ||
prin2 " e i pi sin cos log ..."; >> | ||
else << | ||
prin2 "Use upper-case symbols for built-in constants and functions:"; | ||
terpri(); | ||
prin2 " E I PI SIN COS LOG ..."; >>; | ||
terpri(); | ||
terpri(); | ||
compok := errorset('(evload (quote(compiler))),nil,nil); | ||
if atom compok then << | ||
prin2 "Compiler is absent! Sorry, GRG cannot be installed. "; | ||
terpri(); | ||
terpri(); | ||
bye; >> | ||
else << | ||
%prin2 "Compiler is present. I'm about to compile GRG ..."; | ||
%if psl then << | ||
% prin2 "To install GRG use command:"; | ||
% terpri(); | ||
% prin2 " in ""compile.psl"";"; >> | ||
%else << | ||
% prin2 "To install GRG use command:"; | ||
% terpri(); | ||
% prin2 " in ""compile.csl"";"; >>; | ||
%terpri(); | ||
%pause; | ||
>>; | ||
end$ | ||
if psl then in "compile.psl" else in "compile.csl"$ | ||
quit$ | ||
end; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
lisp$ | ||
off echo$ | ||
dskin "grgcomp.sl"$ | ||
end; |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
% This file is the part of GRG 3.2 (C) 1997 V.V. Zhytnikov | ||
lisp$ | ||
off echo$ | ||
rdf "grgxmacr.sl"$ | ||
%off lower$ | ||
expand!-file!>( "grgdecl.sl" , "xdecl.sl" )$ | ||
expand!-file!>( "grggeom.sl" , "xgeom.sl" )$ | ||
expand!-file!>( "grggrav.sl" , "xgrav.sl" )$ | ||
expand!-file!>( "grginit.sl" , "xinit.sl" )$ | ||
expand!-file!>( "grgclass.sl" , "xclass.sl" )$ | ||
expand!-file!>( "grgcomm.sl" , "xcomm.sl" )$ | ||
expand!-file!>( "grgcoper.sl" , "xcoper.sl" )$ | ||
expand!-file!>( "grgmain.sl" , "xmain.sl" )$ | ||
expand!-file!>( "grgmater.sl" , "xmater.sl" )$ | ||
expand!-file!>( "grgprin.sl" , "xprin.sl" )$ | ||
expand!-file!>( "grgproc.sl" , "xproc.sl" )$ | ||
expand!-file!>( "grgtrans.sl" , "xtrans.sl" )$ | ||
on lower$ | ||
terpri()$ | ||
prin2 "### Expansion done."$ terpri()$ | ||
%quit$ | ||
end; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
% This file is the part of GRG 3.2 (C) 1997 V.V. Zhytnikov | ||
lisp$ | ||
off echo$ | ||
dskin "grgxmacr.sl"$ | ||
off lower$ | ||
expand!-file!>( "grgdecl.sl" , "xdecl.sl" )$ | ||
expand!-file!>( "grggeom.sl" , "xgeom.sl" )$ | ||
expand!-file!>( "grggrav.sl" , "xgrav.sl" )$ | ||
expand!-file!>( "grginit.sl" , "xinit.sl" )$ | ||
expand!-file!>( "grgclass.sl" , "xclass.sl" )$ | ||
expand!-file!>( "grgcomm.sl" , "xcomm.sl" )$ | ||
expand!-file!>( "grgcoper.sl" , "xcoper.sl" )$ | ||
expand!-file!>( "grgmain.sl" , "xmain.sl" )$ | ||
expand!-file!>( "grgmater.sl" , "xmater.sl" )$ | ||
expand!-file!>( "grgprin.sl" , "xprin.sl" )$ | ||
expand!-file!>( "grgproc.sl" , "xproc.sl" )$ | ||
expand!-file!>( "grgtrans.sl" , "xtrans.sl" )$ | ||
on lower$ | ||
prin2 "### All done."$ terpri()$ | ||
quit$ | ||
end; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
%==========================================================================% | ||
% GRG 3.2 Local Configuration File (C) 1988-96 Vadim V. Zhytnikov % | ||
%==========================================================================% | ||
|
||
% Default Dimensionality and Signature: | ||
%(signature!> - + + + ) | ||
|
||
% Changing the default on/off switch position: | ||
%(on!> page) | ||
|
||
% Pre-loading the packages: | ||
%(package!> specfn) | ||
|
||
% Newer remove the following line! | ||
nil | ||
|
||
%======= End of grg.cfg ===================================================% | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
%==========================================================================% | ||
% GRG 3.2 Startup File (C) 1988-2000 Vadim V. Zhytnikov % | ||
%==========================================================================% | ||
% This file is distributed without any warranty. You may modify it but you % | ||
% are not allowed to remove author's name and/or distribute modified file. % | ||
%==========================================================================% | ||
|
||
(global '(![version!])) | ||
|
||
(setq ![version!] "This is GRG 3.2 release 6 (July 16, 2000) ..." ) | ||
|
||
% Loading modules ... | ||
(evload '( | ||
grgdecl | ||
grggeom | ||
grggrav | ||
grginit | ||
grgclass | ||
grgcomm | ||
grgcoper | ||
grgmain | ||
grgmater | ||
grgprin | ||
grgproc | ||
grgtrans | ||
grgcfg | ||
)) | ||
(matrix nil) | ||
|
||
% Starting GRG ... | ||
(cond (![autostart!] (grg)) | ||
(t(progn (terpri) (prin2 "Type ``grg;'' to start GRG ...") (terpri)))) | ||
|
||
%==========================================================================% | ||
|
Oops, something went wrong.