Skip to content

Commit f5247dc

Browse files
committed
Update documentation for Ginibre ensembles
1 parent 72c50cd commit f5247dc

4 files changed

Lines changed: 63 additions & 5 deletions

File tree

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,21 @@ integrate(abs(S_mat[1,1])^2, dSp(S_mat, d))
104104
# Output: 1 / d
105105
```
106106

107+
### Ginibre Ensembles
108+
Ginibre ensembles consist of non-Hermitian matrices with i.i.d. Gaussian entries.
109+
- **GinUE (Complex Ginibre Ensemble)**: i.i.d. complex Gaussian entries. Use `dGinUE`.
110+
- **GinOE (Real Ginibre Ensemble)**: i.i.d. real Gaussian entries. Use `dGinOE`.
111+
- **GinSE (Symplectic Ginibre Ensemble)**: i.i.d. quaternionic Gaussian entries. Use `dGinSE`.
112+
113+
```julia
114+
@variables d
115+
# Use T=Complex{Num} for GinUE to ensure conj(G) != G
116+
G = [Symbolics.variable(:G, i, j, T=Complex{Num}) for i = 1:2, j = 1:2]
117+
# E[Tr(G G')] = d^2 = 4 (for 2x2 matrix)
118+
integrate(tr(G * G'), dGinUE(G, d))
119+
# Output: 4
120+
```
121+
107122
### Circular Ensembles
108123
IntU also supports Circular Ensembles (CUE, COE, CSE) which are commonly used in random matrix theory.
109124
- **CUE (Circular Unitary Ensemble)**: Equivalent to the Haar measure on $U(d)$. Use `dCUE`.

docs/src/api.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ dSp
2929
dGUE
3030
dGOE
3131
dGSE
32+
dGinUE
33+
dGinOE
34+
dGinSE
3235
```
3336

3437
### Pure States
@@ -76,6 +79,8 @@ LazyTrace
7679
LazySum
7780
IntU.integrate_indices_gue
7881
IntU.integrate_indices_goe
82+
IntU.integrate_indices_ginue
83+
IntU.integrate_indices_gin_oe
7984
IntU.integrate_indices_orthogonal
8085
IntU.integrate_indices_symplectic
8186
IntU.integrate_indices_coe

docs/src/asymptotic.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ asymptotic(expr, measure, order=1)
1111
```
1212

1313
- **expr**: The symbolic expression to integrate.
14-
- **measure**: The integration measure (Haar, PureState, etc.).
14+
- **measure**: The integration measure (Haar, PureState, GinUE, etc.).
1515
- **order**: The maximum power of $1/d$ to retain (default 1).
1616

1717
## Example

docs/src/gaussian_integration.md

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,32 @@ The contraction rule involves the symplectic form $J$:
3737
```
3838
IntU.jl implements GSE integration by mapping it to contractions involving the definition of the symplectic metric.
3939

40+
## Ginibre Ensembles
41+
42+
Ginibre ensembles consist of non-Hermitian matrices where each entry is an independent Gaussian random variable.
43+
44+
### GinUE (Complex Ginibre Ensemble)
45+
46+
Matrices $G$ with i.i.d. complex Gaussian entries. The contraction rule is:
47+
```math
48+
\langle G_{ij} \bar{G}_{kl} \rangle_{GinUE} = \delta_{ik} \delta_{jl}
49+
```
50+
Note that only contractions between $G$ and its complex conjugate $\bar{G}$ are non-zero.
51+
52+
### GinOE (Real Ginibre Ensemble)
53+
54+
Matrices $G$ with i.i.d. real Gaussian entries. The contraction rule is:
55+
```math
56+
\langle G_{ij} G_{kl} \rangle_{GinOE} = \delta_{ik} \delta_{jl}
57+
```
58+
59+
### GinSE (Symplectic Ginibre Ensemble)
60+
61+
Matrices $G$ with i.i.d. quaternionic Gaussian entries. Integrals are computed using duality relations.
62+
4063
## Usage
4164

42-
You can define the Gaussian measures using `dGUE`, `dGOE`, and `dGSE`.
65+
You can define the Gaussian measures using `dGUE`, `dGOE`, `dGSE`, `dGinUE`, `dGinOE`, and `dGinSE`.
4366

4467
### GUE Example
4568

@@ -59,6 +82,20 @@ println(res)
5982
# Output: d^2
6083
```
6184

85+
### GinUE Example
86+
87+
```julia
88+
# GinUE Measure with symbolic dimension
89+
G = SymbolicMatrix(:G)
90+
measure_GinUE = dGinUE(G, d)
91+
92+
# Average Trace of G G'
93+
# < Tr(G G') > = d^2
94+
res_ginue = integrate(IntU.tr(G * G'), measure_GinUE)
95+
println(res_ginue)
96+
# Output: d^2
97+
```
98+
6299
### GOE Example
63100

64101
```julia
@@ -98,16 +135,17 @@ This corresponds to the normalization where the variance of off-diagonal entries
98135
## Implementation Details
99136

100137
IntU.jl automates the following steps:
101-
1. **Index Collection**: Parses the expression to find all occurrences of $H$.
102-
2. **Pair Partitioning**: Generates all ways to pair up the $H$ factors ($\sim (2k-1)!!$ terms).
103-
3. **Contraction**: For each pair, applies the specific ensemble contraction rule (GUE, GOE, or GSE).
138+
1. **Index Collection**: Parses the expression to find all occurrences of $H$ (or $G$).
139+
2. **Pair Partitioning**: Generates all ways to pair up the matrix factors.
140+
3. **Contraction**: For each pair, applies the specific ensemble contraction rule.
104141
4. **Summation**: Sums the contributions.
105142

106143
## References
107144

108145
1. **Mehta, M. L.** (2004). *Random Matrices*. Elsevier.
109146
2. **Livan, G., Novaes, M., & Vivo, P.** (2018). *Introduction to Random Matrices: Theory and Practice*. Springer.
110147
3. **Wick, G. C.** (1950). The evaluation of the collision matrix. *Physical Review*, 80(2), 268.
148+
4. **Ginibre, J.** (1965). Statistical ensembles of complex, real, and quaternionic matrices. *Journal of Mathematical Physics*, 6(3), 440-449.
111149

112150
## Pre-computed Moments
113151

0 commit comments

Comments
 (0)