Skip to content

The Functions in QMGsurvey III

Laurin J. Felder edited this page Apr 20, 2023 · 27 revisions

ATTENTION: This page is still under construction!

cqmgScan

SeedRandom in advance recommended; Scans the chosen leaf via random curves.

Arguments

Argument Type Description
X MatConf(Dim,Nim) a matrix configuration
x Real(Dim) an initial point in target space
delta Real a positive finite step length
nPrime Int the (positive) number of random curves
n Int the (positive) number of steps (initial point excluded)
m Int the (positive) number of intermediate steps (zero means no intermediate steps)
l Int a positive even integer, the effective dimension of the quantum manifold
leaf="TSleaf" Str the chosen leaf, can be "TSleaf", "QMleaf" or "GQMleaf". "TSleaf" is the hybrid leaf (using theta), "QMleaf" is the hybrid leaf using omega and "GQMleaf" is the hybrid leaf using omega and g

cqmgScan is not parallelizable.

Output

The output is xsScan.

Output Type Description
xsScan Real(nPrime*n+1,Dim) the points in the scan of the chosen leaf, xsScan(1) is the initial point x

Description

cqmgScan constructs a scan of the chosen leaf through x. This is done via curves with random initial tangent vector and an initial point that is randomly chosen from the previously calculated points. Since random numbers are involved, it is recomended to seed a random state in advance to maintain reproducability. Compare to [1] section 3.3.

Example(s)

An example for the fuzzy sphere:

X=qmgXsu2[4];
l=2;
x={0,0,1};
delta={0.01};
nPrime=10;
n=1000;
m=3;
leaf="QMleaf";
SeedRandom[1];
cqmgScan[X,x,delta,nPrime,n,m,l,leaf]

cqmgCoordinates

Constructs local coordinates for the chosen leaf.

Arguments

Argument Type Description
X MatConf(Dim,Nim) a matrix configuration
x Real(Dim) an initial point in target space
delta Real a positive finite step length
n Int the (positive) number of steps (initial point excluded)
m Int the (positive) number of intermediate steps (zero means no intermediate steps)
l Int a positive even integer, the effective dimension of the quantum manifold
leaf="TSleaf" Str the chosen leaf, can be "TSleaf", "QMleaf" or "GQMleaf". "TSleaf" is the hybrid leaf (using theta), "QMleaf" is the hybrid leaf using omega and "GQMleaf" is the hybrid leaf using omega and g
calculateJaccobians=True Bool True: the Jaccobians are calculated; False: the Jaccobians are not calculated
epsilon=10^-8 Real the (positive) finite difference in the calculation of the Jaccobians

cqmgCoordinates is not parallelizable.

Output

The output is {xssCoordinates,xssJaccobians} if calculateJaccobians=True; the output is {xssCoordinates} if calculateJaccobians=False.

Output Type Description
xssCoordinates Real(2*n+1,...l times...,2*n+1,Dim) the constructed local coordinates. The first l indices parametrize the new coordinates, specifying a point in target space, xssCoordinates(n+1,...l times...,n+1) is the initial point x). The last index corresponds to the point in target space
xssJaccobians Real(2*n+1,...l times...,2*n+1,l,Dim) the constructe Jaccobians. The first l indices parametrize the new coordinates, specifying a point in target space, xssJaccobians(k_1,...,k_l) is the Jaccobian at the point xssCoordinates(k_1,...,k_l). The last two indices correspond to the Jaccobi matrix. The second but last corresponds to the new coordinates, while the last corresponds to the target space

Description

cqmgCoordinates constructs descrete local coordinates in the chosen leaf through x. This is done by integrating discrete curves. The output xssCoordinates should be thought of as a discretization of a map $f:U\subset\mathbb{R}^l\to\mathbb{R}^D$ where $U$ is an open subset of $\mathbb{R}^l$. Here, $(q\circ f)^{-1}$ defines local coordinates for the chosen leaf where $q$ is the map $x\mapsto U(1)\vert x\rangle$. xssJaccobians should be thought of as a discretization of the map $(\partial_l f)$. Compare to [1] section 3.3.

Example(s)

An example for the fuzzy sphere:

X=qmgXsu2[4];
l=2;
x={0,0,1};
delta={0.1};
n=10;
m=3;
leaf="QMleaf";
cqmgCoordinates[X,x,delta,n,m,l,leaf]

An example for the fuzzy sphere wthout calculating Jaccobians:

X=qmgXsu2[4];
l=2;
x={0,0,1};
delta={0.1};
n=10;
m=3;
leaf="QMleaf";
cqmgCoordinates[X,x,delta,n,m,l,leaf,False]

cqmgPointToolsINIT

For internal use; Initialzation function of cqmgPointInTileQ, cqmgPointsInTile, cqmgFindOptimalPointInTile and cqmgFilledTileQ; these perform important calculations in the context of tilings.

cqmgPointTools*

cqmgPointToolsINIT

For internal use; Initialzation function of cqmgPointInTileQ, cqmgPointsInTile, cqmgFindOptimalPointInTile and cqmgFilledTileQ; these perform important calculations in the context of tilings.

Arguments

Argument Type Description
X MatConf(Dim,Nim) a matrix configuration
l Int a positive even integer, the effective dimension of the quantum manifold

Output

The output is {cqmgPointInTileQ,cqmgPointsInTile,cqmgFindOptimalPointInTile,cqmgFilledTileQ}.

Output Type Description
cqmgPointInTileQ Fx the compiled function
cqmgPointsInTile Fx a function based on cqmgPointInTileQ
cqmgFindOptimalPointInTile Fx a function based on cqmgPointInTileQ
cqmgFilledTileQ Fx a function based on cqmgPointInTileQ

cqmgPointInTileQ

Initialized with cqmgPointInTileQINIT; cqmgPointInTileQ checks if a point lies within a tile.

Arguments

Argument Type Description
x Real(Dim) a point in target space
Tile Real(Dim,2) a tile in target space. Tile(k,1) defines the lower bound in direction k, Tile(k,2) defines the upper bound in direction a

cqmgPointInTileQ is parallelizable in the variables x and Tile.

Output

The output is out.

Output Type Description
out Bool True if for all k Tile(k,1) is smaller or equal x(k) and x(k) is smaller Tile(k,2); else False

cqmgPointsInTile

Initialized with cqmgPointsInTileINIT; cqmgPointsInTile selects the points of a list that lie within a tile.

Arguments

Argument Type Description
xs Real(k,Dim) a list of length k consisting of points in target space
Tile Real(Dim,2) a tile in target space. Tile(k,1) defines the lower bound in direction k, Tile(k,2) defines the upper bound in direction a

cqmgPointsInTile is not parallelizable.

Output

The output is xsInTile.

Output Type Description
xsInTile Real(kPrime,Dim) a list of length kPrime consisting of points in target space. This is the list of points from xs that lie in the Tile

cqmgFindOptimalPointInTile

Initialized with cqmgFindOptimalPointInTileINIT; cqmgFindOptimalPointInTile chooses from a list of points in a tile the point that lies most centered in the tile.

Arguments

Argument Type Description
xsInTile Bool(k,Dim) a list of length k consisting of points in target space that lie in the Tile
Tile Real(Dim,2) a tile in target space. Tile(k,1) defines the lower bound in direction k, Tile(k,2) defines the upper bound in direction a

cqmgFindOptimalPointInTile is not parallelizable.

Output

The output is x.

Output Type Description
x Real(Dim) the point from xsInTile that is most centered
Tile Real(Dim,2) a tile in target space. Tile(k,1) defines the lower bound in direction k, Tile(k,2) defines the upper bound in direction a

cqmgFilledTileQ

Initialized with cqmgFilledTileQINIT; cqmgFilledTileQ checks if some local coordinates filled a Tile.

Arguments

Argument Type Description
CoordinatesInTileQ Bool(2*n+1,...l times...,2*n+1) This is the output of cqmgPointInTileQ[xssCoordinates,Tile] for some local coordinates xssCoordinates, being themselves part of the output of cqmgCoordinates
Tile Real(Dim,2) a tile in target space. Tile(k,1) defines the lower bound in direction k, Tile(k,2) defines the upper bound in direction a

cqmgFilledTileQ is not parallelizable.

Output

The output is Filled.

Output Type Description
Filled Bool True if CoordinatesInTileQ(k_1,...,k_l)=False in all cases where at least one k_j is 1 or 2*n+1; else False. This means that all border points of xssCoordinates lie outside of the Tile, thus the coordinates fill the Tile

Description

cqmgLightweight is a compiled version of qmgLightweight (attention: EigFixed has a different shape for practical reasons). cqmgLightweight calculates the lowest eigenvalue of the Hamiltonian for a given matrix configuration X at the point x and the corresponding eigenvector. The eigenvector is normalized and its complex phase is fixed such that the last component (that is Eig(2,Nim,1)) is greater or equal 0. Attention: In the cases where the last component vanishes, this choice is not unique. Compare to [1] section 3.1.

Example(s)

An example for the fuzzy sphere:

X=qmgXsu2[4];
x={0,0,1};
cqmgLightweight=cqmgLightweightINIT[X];
out=cqmgLightweight[x];
cqmgLightweightEXTR[out]

An example using parallelization:

X=qmgXsu2[4];
x1={0,0,1};
x2={0,1,0};
cqmgLightweight=cqmgLightweightINIT[X];
out=cqmgLightweight[{x1,x2}]

cqmgIntegrandsINIT

For internal use; Initialzation function of cqmgIntegrands; cqmgIntegrands calculates the integrands for integration over the chosen leaf.

cqmgIntegrateTile

Integrates over a given tile.

cqmgIntegrateTiling

Integrates over a tiling.

cqmgQuantization

Processes the output of cqmgIntegrateTiling in the context of quantization.

cqmgIntegrateTilePreview

Preview of cqmgIntegrateTile; only calculates local coordinates.

cqmgIntegrateTilingPreview

Preview of cqmgIntegrateTiling; only calculates a covering with local coordinates.

cqmgCustomIntegrateTiling

Integrates custom functions over a tiling via the output of cqmgIntegrateTiling.

cqmgKaehlerCostINIT

Initialization function of cqmgKaehlerCost; cqmgKaehlerCost calculates the Kähler cost for a given linear subspace of the tangent space.

cqmgKaehlerCostEXTR

Extraction function of cqmgKaehlerCost; cqmgKaehlerCost calculates the Kähler cost for a given linear subspace of the tangent space.

cqmgKaehler

Simplified function built on cqmgKaehlerCost; calculates the Kähler cost for a given linear subspace of the tangent space.

cqmgKaehlerForLeaf

Calculates the Kähler cost for the chosen leaf.

cqmgKaehlerForRandom

SeedRandom in advance recommended; calculates the Kähler cost for random subspaces.

cqmgComparePoissonStructures

Calculates the Poisson structure induced by omega in the form of theta for a given point.

cqmgQuantizationValidation

SeedRandom in advance recommended; performs various checks that validate the quality of the semiclassical limit based on the output of cqmgIntegrateTiling.

cqmgQuantizationValidationPresent

SeedRandom in advance recommended; constructs a table with the most interesting output of cqmgQuantizationValidation.

Clone this wiki locally