xAct p.1/28
Computers in science
xAct p.2/28
Computers in science
xAct p.2/28
Computers in science
xAct p.2/28
Computers in science
xAct p.2/28
Computers in science
xAct p.2/28
Computers in science
xAct p.2/28
Summary
xAct p.3/28
xAct p.4/28
xAct p.4/28
xAct p.4/28
xAct p.5/28
Develop.
Release
Strengths
xAct p.5/28
Develop.
?
?
1979
Release
1968
1970
1988
Strengths
xAct p.5/28
Develop.
?
?
1979
1979
1986
Release
1968
1970
1988
1985
1988
Strengths
hashing routines
pattern matching
xAct p.5/28
Develop.
?
?
1979
1979
1986
1982
1971-91
Release
1968
1970
1988
1985
1988
1998
2002
Strengths
hashing routines
pattern matching
object-oriented
xAct p.5/28
Develop.
?
?
1979
1979
1986
1982
1971-91
Release
1968
1970
1988
1985
1988
1998
2002
Strengths
hashing routines
pattern matching
object-oriented
Fluid mechanics
General Relativity
Industrial applications
xAct p.5/28
xAct p.6/28
xAct p.6/28
Examples:
det(A + B)
xAct p.6/28
Examples:
xAct p.6/28
Examples:
Exact
Numerical
0.01
10
50 100
500
xAct p.6/28
xAct p.7/28
xAct p.7/28
xAct p.7/28
xAct p.7/28
xAct p.7/28
xAct p.7/28
xAct p.8/28
xAct p.8/28
xAct p.8/28
xAct p.8/28
xAct p.8/28
Simplify[ (x y)(x + y) ]
Simplify[ x4 x ]
1 + x2
(x y)(x + y)
x(1 + x3 )
xAct p.8/28
Babcd = B(abcd)
Riemann polynomials:
1
Rabcd Ra e c f Rbf de = Rabcd Ra e c f Rbedf Rabcd Rab ef Rcdef
4
Lovelock (dimension-dependent) identities
Component expansions in numerics (code generation)
[ Kranc:
xAct p.10/28
xAct p.10/28
- R.A. Russell-Clark 1971
CLAM
- I. Frick 1974
ILAM
xAct p.10/28
xAct p.10/28
xAct p.10/28
xAct p.10/28
R. dInverno 1969
- R.A. Russell-Clark 1971
- I. Frick 1974
ALAM
CLAM
ILAM
P
PP
PP
?
PP
q
)
LAM
?
I. Frick 1977
SHEEP
?
J. man 1987
dInverno & Frick 1982
L. Hrnfeldt 1988
CLASSI
SHEEP2
STENSOR
?
J. E. F. Skea 1988
RSHEEP
xAct p.10/28
xAct p.11/28
Lake 03 ]
04 ]
xAct p.11/28
Lake 03 ]
04 ]
Abstract computations:
Define tensors with symmetries, connections, etc.
Compute and simplify expressions.
Key issue: canonicalization with symmetries and dummy indices.
xAct p.11/28
Lake 03 ]
04 ]
Abstract computations:
Define tensors with symmetries, connections, etc.
Compute and simplify expressions.
Key issue: canonicalization with symmetries and dummy indices.
Question: Component computations from abstract computations?
xAct p.11/28
xAct p.12/28
xAct p.12/28
xAct p.12/28
xAct p.12/28
xAct p.12/28
xAct p.13/28
Rcdab = +Rabcd
[ Portugal et al. 01 ]
xAct p.13/28
Rcdab = +Rabcd
[ Portugal et al. 01 ]
Edgar et al. 02 ].
xAct p.13/28
xAct p.14/28
2e. Example 1
Antisymmetric tensor Fba = Fab .
n Fh = 0
F ab Fbc ...
a
xAct p.15/28
2e. Example 1
Antisymmetric tensor Fba = Fab .
n Fh = 0
F ab Fbc ...
a
|Perm group|
2
48
3840
645120
185794560
8.2 1010
6.4 1022
4.7 1039
1.1 1058
3.4 1077
8.0 1097
MathTensor
0
0.01
0.02
1.12
350
107745
?
?
?
?
?
xTensor
0
0.01
0.03
0.05
0.07
0.09
0.28
0.94
2.7
6.5
13.7
xAct p.15/28
2e-2. Example 1
100000
100000
Day
10000
10000
Hour
1000
1000
100
100
Minute
10
10
Second
0.1
0.1
0.01
0.001
0.01
10
20
30
40
50
0.001
xAct p.16/28
2e-2. Example 1
100000
100000
Day
10000
10000
Hour
1000
1000
100
100
Minute
10
10
Second
0.1
0.1
0.01
0.001
0.01
10
20
30
40
50
0.001
xAct p.16/28
2e-2. Example 1
100000
100000
Day
10000
10000
Hour
1000
1000
100
100
Minute
10
10
Second
0.1
0.1
0.01
0.001
0.01
10
20
30
40
50
0.001
xAct p.16/28
2e-2. Example 1
100000
100000
Day
10000
10000
Hour
1000
1000
100
100
Minute
10
10
Second
0.1
0.1
0.01
0.001
0.01
10
20
30
40
50
0.001
xAct p.16/28
2e-2. Example 1
100000
100000
Day
10000
10000
Hour
1000
1000
100
100
Minute
10
10
Second
0.1
0.1
0.01
0.001
0.01
10
20
30
40
50
0.001
xAct p.16/28
2e-2. Example 1
100000
100000
Day
10000
10000
Hour
1000
1000
100
100
Minute
10
10
Second
0.1
0.1
0.01
0.001
0.01
10
20
30
40
50
0.001
xAct p.16/28
2e-3. Example 2
Random monomial Riemann scalars:
g a 1 b 7 . . . g d n c 5 R a 1 b 1 c 1 d 1 . . . Ra n b n c n d n
1000
100
100
Minute
+
+
o
+
10
timings in seconds
1000
+
+
+
10
+
+
+o
+
+
+
++
o o o
+
+o+
+
o
ooo
+
o
o
o
o oo oo
o
o
o
o
o
+
oo
o
o+
+
o
+
o
0.1
0.01
0.001
Second
0.1
0.01
0.001
10
20
30
40
50
2e-4. Example 2
A million random monomial Riemann7 scalars:
6
150000
A million
Riemann^7
125000
3.2 GHz
100000
0.5
1
1.5
Time HsL
75000
Nonzero: 558673
bin .005 s
50000
Zero: 441324
25000
0
0
0.02
0.04
0.06
Time HsL
0.08
0.1
0.12
xAct p.18/28
2e-5. Example 2
A million random monomial Riemann10 scalars:
15 000
Zero: 424108
Nonzero: 575892
5000
0
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.10
timings in seconds
xAct p.19/28
xAct p.20/28
xCore
Mathematica Tools
xAct p.20/28
xPerm
Permutation Group Theory
6
xCore
Mathematica Tools
xAct p.20/28
xTensor
Abstract tensor algebra
6
xPerm
Permutation Group Theory
6
xCore
Mathematica Tools
xAct p.20/28
xCoba
Component tensor algebra
[ D. Yllanes ]
6
xTensor
Abstract tensor algebra
6
xPerm
Permutation Group Theory
6
xCore
Mathematica Tools
xAct p.20/28
xCoba
Component tensor algebra
Harmonics
@
R
@
[ D. Yllanes ]
Tensor spherical hars.
6
xTensor
xPert
Abstract tensor algebra
Perturbation Theory
6
[ D. Brizuela and
G. Mena Marugn ]
xPerm
Permutation Group Theory
6
xCore
Mathematica Tools
xAct p.20/28
Invar
Riemann tensor
[ R. Portugal ]
xCoba
Component tensor algebra
Harmonics
@
R
@
[ D. Yllanes ]
Tensor spherical hars.
6
xTensor
xPert
Abstract tensor algebra
Perturbation Theory
6
[ D. Brizuela and
G. Mena Marugn ]
xPerm
Permutation Group Theory
6
xCore
Mathematica Tools
xAct p.20/28
3b. Features
xAct p.21/28
3b. Features
Strengths:
Fast monoterm canonicalization.
Mathematical structure, GR-oriented.
Free software (GPL).
Extensive, Mathematica-style documentation.
xAct p.21/28
3b. Features
Strengths:
Fast monoterm canonicalization.
Mathematical structure, GR-oriented.
Free software (GPL).
Extensive, Mathematica-style documentation.
Current weaknesses:
Multiterm canonicalization missing.
Tensor-editing interface missing.
Incomplete development of calculus with charts.
xAct p.21/28
3b. Features
Strengths:
Fast monoterm canonicalization.
Mathematical structure, GR-oriented.
Free software (GPL).
Extensive, Mathematica-style documentation.
Current weaknesses:
Multiterm canonicalization missing.
Tensor-editing interface missing.
Incomplete development of calculus with charts.
Other data:
c
20022009,
GPL. Version 0.7 in March 2004; currently in 0.9.8
17000 lines of Mathematica code + 2500 lines of C code.
31 articles have used it:
xAct p.21/28
3c. Results
Hyperbolicity analysis of the Einstein equations (Gundlach & JMM)
High order perturbation theory in GR (Brizuela & JMM)
Invariants of the Riemann tensor (JMM & Portugal)
The light-cone theorem (Choquet-Bruhat, Chrusciel & JMM)
Superfield integrals in string theory (Green et al.)
Dynamical laws of superenergy (Garca-Parrado)
Initial data sets for the Schwarzschild spacetime (GP & Valiente)
Cosmological perturbation theory (Pitrou et al.)
Post-Newtonian computations (Blanchet et al.)
Quantum Field Theory (lvarez et al.)
Galileon (Deffayet et al.)
xAct p.22/28
xAct p.23/28
xAct p.23/28
xAct p.23/28
xAct p.23/28
xAct p.23/28
xAct p.23/28
xAct p.24/28
xAct p.24/28
xAct p.24/28
xAct p.24/28
xAct p.24/28
xAct p.24/28
xAct p.24/28
xAct p.24/28
xAct p.25/28
xAct p.25/28
xAct p.25/28
xAct p.25/28
xAct p.25/28
28 indices
s-invs
xAct p.26/28
28 indices
s-invs
xAct p.26/28
28 indices
s-invs
xAct p.26/28
28 indices
s-invs
xAct p.26/28
28 indices
s-invs
xAct p.26/28
28 indices
s-invs
xAct p.26/28
28 indices
s-invs
xAct p.26/28
28 indices
s-invs
A
1
3
9
38
204
1613
16532
217395
3406747
A
1
4
27
232
2582
35090
558323
A: Permutation symmetries,
C: Dim-dep identities,
B
1
2
5
15
54
270
1639
13140
B
0
1
6
40
330
3159
C
1
2
3
4
5
8
7
(9)
(11)
(9)
(9)
(9)
C
0
1
2
1
2
2
(1)
(1)
(1)
(1)
(0)
(0)
D
1
2
3
3
3
4
3
(2)
(3)
(1)
(1)
(0)
D
0
1
2
1
2
2
(1)
(1)
(1)
(1)
(0)
(0)
B: Cyclic symmetry,
D: Products of duals ( ).
xAct p.27/28
5. Conclusions
xAct p.28/28
5. Conclusions
Brief review of the field of Computer Algebra, focusing on the importance of
the canonicalizer.
xAct p.28/28
5. Conclusions
Brief review of the field of Computer Algebra, focusing on the importance of
the canonicalizer.
There are important problems in GR and other fields which require Tensor
Computer Algebra.
xAct p.28/28
5. Conclusions
Brief review of the field of Computer Algebra, focusing on the importance of
the canonicalizer.
There are important problems in GR and other fields which require Tensor
Computer Algebra.
For the first time we have tensor packages with efficient canonicalization
algorithms for monoterm symmetries, and they are free software!
xAct p.28/28
5. Conclusions
Brief review of the field of Computer Algebra, focusing on the importance of
the canonicalizer.
There are important problems in GR and other fields which require Tensor
Computer Algebra.
For the first time we have tensor packages with efficient canonicalization
algorithms for monoterm symmetries, and they are free software!
There are multiterm algorithms, but we need something more efficient. Idea:
databases of solutions (example: Invar package).
xAct p.28/28
5. Conclusions
Brief review of the field of Computer Algebra, focusing on the importance of
the canonicalizer.
There are important problems in GR and other fields which require Tensor
Computer Algebra.
For the first time we have tensor packages with efficient canonicalization
algorithms for monoterm symmetries, and they are free software!
There are multiterm algorithms, but we need something more efficient. Idea:
databases of solutions (example: Invar package).
xAct implements the fastest algorithms, in a GR-oriented structure based on
Penrose abstract indices. Well tested and documented.