Causal Dynamical Triangulations with CGAL
Adam Getchell
acgetchell@ucdavis.edu
University of California, Davis
CGAL Developers Conference, Nancy, Sept 29-October 2, 2015
Causal Dynamical Triangulations
A candidate theory of quantum gravity
CGAL
You are the experts!
Path Integral
Credit: NASA/WMAP Science team
Path Integral
Equations of Motion
Ricci scalar
Cosmological constant
Ricci tensor
Ricci scalar
Stress-Energy tensor
Transition probability amplitude
Calculating the Path Integral
Almost impossible to calculate!
Calculating the Path Integral
Quickly gets complicated!
Perturbative sums, renormalization, etc.
CDT Path Integral
3D Delaunay Triangulation: 256 Timeslices, 7473 Vertices, 47021 Simplices
2D Icosahedron: 1 timeslice, 30 vertices, 20 Simplices
CDT Path Integral
Inequivalent Triangulations
Regge Action
Partition Function
Transition probability amplitude
Calculating the CDT Path Integral
Area of hinge
Volume of Simplex
Deficit Angle
Regge Action
CDT Action
3D
CDT Action
4D
CDT Path Integral
CDT Path Integral
Wick rotation
Metropolis-Hastings
Inequivalent Triangulations
Partition Function
Wick rotation
- Pick an ergodic (Pachner) move
- Make that move with a probability of a1a2, where:
3D Ergodic Moves
(2,3) & (3,2)
(4,4)
(2,6) & (6,2)
Simplices involved
Move name
(3,1) & (2,2)
2 (1,3) & 2 (3,1)
(1,3) & (3,1)
4D Ergodic Moves
(2,4) & (4,2)
(3,3)
(4,6) & (6,4)
(2,8) & (8,2)
Does CDT have a Newtonian Limit?
CDT looks like GR at cosmological scales, does it have a Newtonian limit?
At first glance, this is hard:
- CDT is not well-suited for approximating smooth classical space-times
- We don't have the time or resolution to watch objects fall
A Trick from GR
The static axisymmetric Weyl metric:
With two-body Chazy-Curzon (circa 1924) solutions of the Einstein field equations:
Leads to a strut:
With a stress:
That can be integrated to get the Newtonian force!
A Trick from GR
Metric
Affine connection
Riemann tensor
Ricci tensor & Ricci scalar
Einstein field equations
My Work
Find the Newtonian Limit, if it exists
- Test case, no limit in 3D
Re-implement CDT
- Rewrite in modern C++
- Use well-known libraries
My Work
Use current tools
- LLVM/Clang
- Hosted on GitHub
- Continuous integration with Travis-CI
- Google Style Guide
- GoogleTest/GoogleMock
- CMake for cross-platform building
- Literate programming with Doxygen
- Others (Gitter, Ninja, etc.)
Easy to evaluate, use, and contribute
My Work
Mass = Epp quasilocal energy
- In 1+1 simplicial geometry, extrinsic curvature at a vertex is proportional to the number of connected triangles
- In 2+1 simplicial geometry, extrinsic curvature at an edge is proportional to the number of connected tetrahedra
- In 3+1 simplicial geometry, extrinsic curvature at a face is proportional to the number of connected pentachorons (4-simplices)
My Work
Non-Euclidean Distance
- Calculate single-source shortest path between the two masses using Bellman-Ford algorithm in O(VE)
- Modify allowed moves to not permit too many successive moves which increase or decrease distance between masses (hold relatively fixed)
Hausdorff Distance(?)
- Calculate Voronoi diagram of Delaunay triangulation
- Find minimal Hausdorff distance in diagram for sets in O((m+n)^6 log(mn)) (Huttenlocher, Kedem, and Kleinberg)
Fast foliated Delaunay Triangulations in CGAL
8 timeslices, 68 vertices, 619 faces, 298 simplices
Creation time: 0.043336s
(MacBook Pro Retina, Mid 2012)
Fast foliated Delaunay Triangulations in CGAL
/// @param[in] simplices The number of desired simplices in the triangulation
/// @param[in] timeslices The number of timeslices in the triangulation
/// @returns A std::unique_ptr to the foliated Delaunay triangulation
auto inline make_triangulation(const unsigned simplices,
const unsigned timeslices) {
std::cout << "Generating universe ... " << std::endl;
#ifdef CGAL_LINKED_WITH_TBB
// Construct the locking data-structure, using the bounding-box of the points
auto bounding_box_size = static_cast<double>(timeslices+1);
Delaunay::Lock_data_structure locking_ds(
CGAL::Bbox_3(-bounding_box_size, -bounding_box_size, -bounding_box_size,
bounding_box_size, bounding_box_size, bounding_box_size), 50);
Delaunay universe(K(), &locking_ds);
#else
Delaunay universe;
#endif
auto universe_ptr = std::make_unique<decltype(universe)>(universe);
auto causal_vertices = make_foliated_sphere(simplices, timeslices);
insert_into_triangulation(universe_ptr, causal_vertices);
fix_triangulation(universe_ptr);
// This isn't as expensive as it looks thanks to return value optimization
return universe_ptr;
} // make_triangulation()
Fast foliated Delaunay Triangulations in CGAL
256 timeslices, 222,132 vertices, 2,873,253 faces, 1,436,257 simplices
Creation time: 284.596s
(MacBook Pro Retina, Mid 2012)
Remaining Work
Interested? Please Join!
Thank You!
[1] The CGAL Project. CGAL User and Reference Manual. CGAL Editorial Board, 4.6.3 edition, 2015.
[2] Steve Carlip. Why Quantum Gravity is Hard. Conceptual and Technical Challenges for Quantum Gravity, Rome, September 2014.
[3] J. Ambjorn, J. Jurkiewicz, and R. Loll. “Dynamically Triangulating Lorentzian Quantum Gravity.” Nuclear Physics B 610, no. 2001 (May 27, 2001): 347–82.
[4] Rajesh Kommu. “A Validation of Causal Dynamical Triangulations.” arXiv:1110.6875, October 31, 2011. http://arxiv.org/abs/1110.6875.
Causal Dynamical Triangulations with CGAL
By Adam Getchell
Causal Dynamical Triangulations with CGAL
- 538