CDT++
Causal Dynamical Triangulations in C++
Loading...
Searching...
No Matches
Functions
S3Action.hpp File Reference

Calculate S3 bulk actions on 3D Delaunay Triangulations. More...

#include <mpfr.h>
#include <Settings.hpp>
+ Include dependency graph for S3Action.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

auto S3_bulk_action (Int_precision const N1_TL, Int_precision const N3_31_13, Int_precision const N3_22, long double const Alpha, long double const K, long double const Lambda) noexcept -> Gmpzf
 Calculates the generalized S3 bulk action in terms of \(\alpha\), \(k\), \(\lambda\), \(N_1^{TL}\), \(N_3^{(3,1)}\), and \(N_3^{(2,2)}\).
 
auto S3_bulk_action_alpha_minus_one (Int_precision const N1_TL, Int_precision const N3_31_13, Int_precision const N3_22, long double const K, long double const Lambda) noexcept -> Gmpzf
 Calculates S3 bulk action for \(\alpha\)=-1.
 
auto S3_bulk_action_alpha_one (Int_precision const N1_TL, Int_precision const N3_31_13, Int_precision const N3_22, long double const K, long double const Lambda) noexcept -> Gmpzf
 Calculates S3 bulk action for \(\alpha\)=1.
 

Detailed Description

Calculate S3 bulk actions on 3D Delaunay Triangulations.

Author
Adam Getchell

Calculates the S3 Bulk (and later, boundary) actions. Uses the GNU MPFR library for arbitrary precision arithmetic on floating point numbers. See http://www.mpfr.org for more details. Note: for performance reasons, variables should not hold successively increasing values. We avoid this by setting each variable only once. See https://gmplib.org/manual/Efficiency.html#Efficiency for details.

Definition in file S3Action.hpp.

Function Documentation

◆ S3_bulk_action()

auto S3_bulk_action ( Int_precision const  N1_TL,
Int_precision const  N3_31_13,
Int_precision const  N3_22,
long double const  Alpha,
long double const  K,
long double const  Lambda 
) -> Gmpzf
inlinenoexcept

Calculates the generalized S3 bulk action in terms of \(\alpha\), \(k\), \(\lambda\), \(N_1^{TL}\), \(N_3^{(3,1)}\), and \(N_3^{(2,2)}\).

The formula is:

\begin{eqnarray*} S^{(3)} &=& 2\pi k\sqrt{\alpha}N_1^{TL} \\ &+& N_3^{(3,1)}\left[-3k\text{arcsinh}\left(\frac{1}{\sqrt{3} \sqrt{4\alpha +1}}\right)-3k\sqrt{\alpha}\text{arccos}\left(\frac{2\alpha+1} {4\alpha+1}\right)-\frac{\lambda}{12}\sqrt{3\alpha+1}\right] \\ &+& N_3^{(2,2)}\left[2k\text{arcsinh}\left(\frac{2\sqrt{2}\sqrt{2\alpha+1}} {4\alpha +1}\right)-4k\sqrt{\alpha}\text{arccos}\left(\frac{-1}{4\alpha+1} \right)-\frac{\lambda}{12}\sqrt{4\alpha +2}\right]\end{eqnarray*}

Parameters
N1_TL\(N_1^{TL}\) is the number of timelike links
N3_31_13\(N_3^{(3,1)}\) is the number of (3,1) and (1,3) simplices
N3_22\(N_3^{(2,2)}\) is the number of (2,2) simplices
Alpha\(\alpha\) is the timelike edge length
K\(k=\frac{1}{8\pi G_{Newton}}\)
Lambda\(\lambda=k*\Lambda\) where \(\Lambda\) is the Cosmological constant
Returns
\(S^{(3)}(\alpha)\) as a Gmpzf value

Definition at line 252 of file S3Action.hpp.

References PRECISION.

Referenced by MoveStrategy< Strategies::METROPOLIS, ManifoldType >::CalculateA2().

◆ S3_bulk_action_alpha_minus_one()

auto S3_bulk_action_alpha_minus_one ( Int_precision const  N1_TL,
Int_precision const  N3_31_13,
Int_precision const  N3_22,
long double const  K,
long double const  Lambda 
) -> Gmpzf
inlinenoexcept

Calculates S3 bulk action for \(\alpha\)=-1.

This result is i* the action for Euclidean dynamically triangulated gravity in three dimensions. The formula is:

\[S^{(3)}(\alpha=-1)=-2\pi ik N_1^{TL}+N_3^{(3,1)}\left(2.673ik+0.118i \lambda\right)+N_3^{(2,2)}\left(7.386ik+0.118i\lambda\right) \equiv iS^3_{EDT}\]

Parameters
N1_TL\(N_1^{TL}\) is the number of timelike links
N3_31_13\(N_3^{(3,1)}\) is the number of (3,1) and (1,3) simplices
N3_22\(N_3^{(2,2)}\) is the number of (2,2) simplices
K\(k=\frac{1}{8\pi G_{Newton}}\)
Lambda\(\lambda=k*\Lambda\) where \(\Lambda\) is the Cosmological constant
Returns
\(S^{(3)}(\alpha=-1)\) as a Gmpzf value

Definition at line 47 of file S3Action.hpp.

References PRECISION.

◆ S3_bulk_action_alpha_one()

auto S3_bulk_action_alpha_one ( Int_precision const  N1_TL,
Int_precision const  N3_31_13,
Int_precision const  N3_22,
long double const  K,
long double const  Lambda 
) -> Gmpzf
inlinenoexcept

Calculates S3 bulk action for \(\alpha\)=1.

The formula is:

\[S^{(3)}(\alpha=1)=2\pi k N_1^{TL}+N_3^{(3,1)}\left(-3.548k-0.167\lambda \right)+N_3^{(2,2)}\left(-5.355k-0.204\lambda\right)\]

Parameters
N1_TL\(N_1^{TL}\) is the number of timelike links
N3_31_13\(N_3^{(3,1)}\) is the number of (3,1) and (1,3) simplices
N3_22\(N_3^{(2,2)}\) is the number of (2,2) simplices
K\(k=\frac{1}{8\pi G_{Newton}}\)
Lambda\(\lambda=k*\Lambda\) where \(\Lambda\) is the Cosmological constant
Returns
\(S^{(3)}(\alpha=1)\) as a Gmpzf value

Definition at line 144 of file S3Action.hpp.

References PRECISION.