SHEEP(ID:1748/she001)
Symbolic math, especially tensor analysis and General Relativity. Inge Frick, Stockholm, late 70's to early 80's. Implemented in DEC-10 assembly language, then in several LISPs.
Named SHEEP as it was an extension of LAMn (might as well be hung for a sheep as a lamb)
Related languages
LAM |
=> |
SHEEP | |
Augmentation of |
SHEEP |
=> |
STENSOR | |
Written using |
References:
Frick, I. "Sheep" NIGSAM:10 1976
view details
Hörnfeldt, L.: "A Tensor Compiler". NIGSAM 11 1976 view details
Frick, I.: "SHEEP, users guide", preprint) Insti.of Theor. Physics, Univ. of Stockholm. view details
Frick, I.: "The computer Algebra System SHEEP, what it can and cannot do in General Relativity". 1977 view details
Hörnfeldt, L; "Indicial and componentwise tensor calculus with computer" NIGSAM 12 1977 view details
Hörnfeldt, L. "An extension of SHEEP for indicial tensor calculus and substitution of sums" Meeting Report of SEAS SMC committee Amsterdam, 17-18-19 January 1978 (AMSTERDAM 78)
view details
Abstract: SHEEP is a rather small and fast algebraic language by I. Frick [1,2] specialized on manipulating components of tensors. To this system a data type "indicial formula" has been added for formulas containing tensors with symbolic indices. Like in all languages a symbol can assigned a scalar expression, it can here be assigned an indicial fofrmula, e.g.: (DEFTEN A) =K^2 <3 (I J> + SIN H A DEFINED Here tensors are surrounded by "<" and ">". Since J is repeated, summation is understood. The "(" indicates syrmmetrization. The assignment can be nicely written out: (WDEF A) Aik = SIN(H)Cki + k2Ck(jBi) j An indicial formula can be used in two ways [4,5] : 1) There is a "compiler" that translates any formula to a program for computing individual components by actually performing contractions etc. Here the components of A can be computed if each component of B and C has been specified. 2) There are routines for evaluating and simplifying this data type. If e.g. B has been assigned to be simply the Kronecker delta (with trace =DIM), the function WMDEF picks it up, performs the j-contraction and simplifies: (WMDEF A) Aik = (k 2 + SIN(H) + k2DIM)Cki Ordinary and covariant differentiation is indicated by "," and ";". If T has been declared to have the l:st and 3:rd indices up, the assignment: (DEFTEN B) = A is written = T i 1 Biklmn k ; [mn] When evaluating, the covariant differentiations are performed (since possible by use of the Ricci identity): Biklmn=Ri j nmTj kl+Rlj nmrikJ _R j knmTij I The simplifyer knows things like if A is anti- and S is symmetric, the and V k Wl=Sik V i AlkSik=O Sik W k. In the data type, tensors are kept factorized. In a simplified indicial sum, there is a canonical order both between the tensorial parts and within each scalar sum. By exploiting this, a rather high efficiency has been achieved for a program that substitutes an arbitrary length sum of tensor products to zero or an other tensor. It can also be used to simplify scalar expressions exploiting e.g. sin20 + sin20 = |. The CPU-time for this is sometimes less than for doing a non-complete simplification using the trivial substitution cos20+l-sin20.
D'Inverno, R.A. "Interacting with SHEEP" General Relativity and Gravitation 14(10) 1982 view details
Abstract: In which sheep confirms Hauser's claim (and hopefully demonstrates just how powerful and flexible an interactive algebraic computing language can be as an aid in carrying out calculations in general relativity).
DOI
Frick, Inge and Åman, Jan E. "SHEEP and Classification in General Relativity" view details
Abstract: SHEEP is a computer algebra system mainly devoted to calculations in General Relativity [1,2]. A typical problem for SHEEP is to check if a given curved space-time fulfills Einstein's equations or not. This means calculating the Ricci tensor from the components of the metric tensor given as analytic equations of the coordinates of space-time, a calculation that for any nontrivial example involves quite heavy algebraic calculations. The freedom of choice of coordinates in General Relativity makes it a fundamental problem to determine whether differences between descriptions of situations are due to real physical differences, or just effects of different choice of coordinate systems. This is the equivalence problem in for classification of the coordinate invariant (physical) properties of geometries in General Relativity [3,4]. In most cases, much of the efficiency and usefulness of the results is gained by performing the calculations of tensorial components relative to a given frame or tetrad. Most often used are constant frames like the orthonormal (or Lorentz) frame or the null tetrad, which is being used for the classification. Among currently available languages, SHEEP + CLASSI seem to be the most suitable for this kind of relativity calculations because it is fast, interactive and prints formulae in a nice multiple line format and handles tensors and spinors nicely. Complex variables and functions can also be used.
in European Conference on Computer Algebra EUROCAL 85 LNCS 204 view details
Wolfram, Stephen "Symbolic Mathematical Computation" view details
External link:
in [ACM] CACM 28(04) (April 1985) view details
MacCallum, M.A.H. Sheep Introductory letter 1993 view details
Abstract: This is a standard form letter giving information about Sheep. (In 1987 the major contributors to Sheep and its extensions Classi and Stensor agreed that I should handle the administration of distribution.)
External link: Online copy
Extract: Introduction Introduction
Sheep is a computer algebra system for handling calculations of the components of tensors. Its main use has been in general relativity, but it has also been used in both solid and fluid mechanics. It was based on the Lisp Algebraic Manipulator LAM (whence the name Sheep), written by R.A. d'Inverno in the late 1960s. Sheep was written largely by Inge Frick of Stockholm (after information about LAM had been brought to Sweden by Ian Cohen who had worked with d'Inverno in London), and the first version was announced in 1977. This version was written in the assembly language MACRO-10 for DEC-10 computers.
In about 1978 Jan Aman started work on programs in Sheep to perform calculations needed for the classification and identification of exact solutions of Einstein's equations: these programs, and others written for specific tensor manipulations in Sheep, are now known collectively as Classi, although many of the programs in Classi have nothing immediately to do with classification, and not all are for relativity.
Also about that time, Lars Hornfeldt began work on an indicial tensor manipulation system, which in early versions worked with either Sheep or Macsyma: this extension of Sheep is called Stensor. (The difference between this and Sheep is that Stensor handles calculations where the indices are symbolic rather than calculating individual components.) Stensor is not yet well-integrated with Classi.
In the early 1980s Sheep was re-written in a dialect of Lisp: this version is called Sheep 2. The Lisp used was an extended version of the Standard Lisp used as a basis for the computer algebra system Reduce. Distribution copies of this version of Sheep include the extensions to Standard Lisp to create the dialect Sheep uses, called Slisp. We can still copy the old tapes for Sheep 1 (the assembler version) but it is unlikely many sites will want this.
Sheep by itself is perhaps better regarded as a language in which tensor manipulation programs can be written, since the only pre-packaged tensor definitions are those for the curvature of a space-time in coordinate form. However, the division into Sheep, Classi, and Stensor reflects the contributions of the three main authors Frick, Sman and Hornfeldt) rather than a rigid division of function, and others, including myself, have contributed ideas and code to all three parts.
J.E.F. Skea has produced a combined Reduce and Sheep image for certain computers. Where this is available (essentially for Cambridge Lisp and PSL versions at present) it is distributed with Sheep. It is called Rsheep (and similarly Rclassi and Rtensor).
in [ACM] CACM 28(04) (April 1985) view details
Skea J.E.F. et al "Sheep, a Computer Algebra System for General Relativity" view details
in Proc First Brazilian School on Comp Alg, W. Roque et al eds, Oxford U Press 1993 view details
MacCallum, M. A. H., and Skea, J. "Algebraic computing in general relativity" Proceedings of the first Brazilian school on computer algebra, Vol. 2, eds. Reboucas, M. J., and Roque, W. L., (Oxford University Press, Oxford). 1994 view details
in Proc First Brazilian School on Comp Alg, W. Roque et al eds, Oxford U Press 1993 view details
Resources
|