Fuzzy Sphere

<<BProbeM` (* load the package BProbe *)

The quantized embedding functions of the fuzzy sphere (Subscript[(S^2), n]) are given by the N-dimensional SU(2) representation:

n = 10; (* in this example n=10 *)
t=2/Sqrt[n^2-1]MatrixRepSU2[n];

Laplacian Point Probe

Initialize the probe

ProbeInit[t]

Start the scan with default values

ProbeScan[StepSize->0.3,EnergyTracker->True,EVTracker->True,GradientTracker->True]

Retrieving results ...

(* point cloud *)
pc = ProbeGetPoints[];

(* tangent spaces *)
ts = ProbeGetTangentspaces[];

(* generalized coherent states *)
cs = ProbeGetGroundstates[];

... and visualize it

Plain point cloud plot

ListPointPlot3D[pc, BoxRatios->Automatic]

Plot normals representing the tangent space

(* calculate normal to the surface *)
normals = Cross[#[[1]],#[[2]]]&/@ts;

(* orient and scale them in a uniform manner *)
normals = (normals[[#]]*0.3*Sign[normals[[#]][[1]]*pc[[#]][[1]]])&/@Range[1,Length[normals]];

(* and draw them as arrows *)
arrows = (Arrow[{pc[[#]],pc[[#]]+normals[[#]]}])&/@Range[1,Length[normals]];
Graphics3D[{Arrowheads[Small],arrows}]

Or one might only want to consider a section through the x-z-plane

ProbeInit[t,Subspace->{1,3}]

ProbeScan[StepSize->0.1]

pc=ProbeGetPoints[];
normals={#[[1,2]],-#[[1,1]]}&/@ProbeGetTangentspaces[];
normals=0.2*Sign[pc[[#]][[1]]*normals[[#]][[1]]]normals[[#]]&/@Range[1,Length[normals]];
arrows = (Arrow[{pc[[#]],pc[[#]]+normals[[#]]}])&/@Range[1,Length[normals]];

(* show generated point cloud with their normal vectors *)
Show[
ListPlot[pc,AspectRatio->Automatic],
Graphics[arrows]
, PlotRange->Automatic
]

Dirac Point Probe

In the case of the fuzzy sphere the Dirac probe has exact zero modes, but generates equivalent results as you can convince you yourself.

Initialize the probe

ProbeInit[t,Probe->"DiracSq"]

ProbeScan[EnergyTracker->True,EVTracker->True,GradientTracker->True]

ListPointPlot3D[ProbeGetPoints[],BoxRatios->Automatic]