The generalized Fisher transformation (GFT) of a non-singular \(n \times n\) correlation matrix \(C\) is \[\gamma = \mathrm{vecl}(\log C) \in \mathbb{R}^d, \qquad d = n(n-1)/2,\] the below-diagonal elements of the matrix logarithm of \(C\), stacked column by column. Archakov and Hansen (2021) showed that this map is a bijection between the set of positive definite correlation matrices and \(\mathbb{R}^d\). For \(n = 2\) it reduces to Fisher’s classical \(z\)-transformation:
A correlation matrix is mapped to an unrestricted vector:
The inverse is not available in closed form for \(n \ge 3\). It is computed from the
variational characterization \[x^*(z) =
\arg\min_x \; \mathrm{tr}\, e^{A[x;z]} - \sum_i x_i,\] where
\(A[x;z]\) is the symmetric matrix with
off-diagonal elements \(z\) and
diagonal \(x\): at the minimizer, \(C = e^{A[x^*;z]}\) is the unique
correlation matrix with \(\mathrm{vecl}(\log
C) = z\). The recommended solver is inv_gft(), the
GFT-FP+N algorithm of Archakov and Hansen (2026): a globally convergent
fixed-point phase in the log domain, followed by a matrix-free inexact
Newton phase.
r <- inv_gft(z)
r
#> Inverse GFT result (n = 5)
#> converged: TRUE (err = 1.18e-15)
#> iterations: 5 eigendecompositions: 6 Hessian-vector products: 9
max(abs(r$C - C))
#> [1] 1.776357e-15Because the GFT is a bijection, any vector in \(\mathbb{R}^d\) is a valid input, which makes the parametrization convenient for unconstrained estimation and modeling of correlation matrices:
Three reference solvers accompany inv_gft(): the plain
Archakov–Hansen fixed point, Broyden’s method (Chen, Fei and Yu, 2025),
and full Newton with the exact \(O(n^4)\) Hessian. All count
eigendecompositions (eighs), the dominant \(O(n^3)\) kernel:
set.seed(1)
z <- rnorm(190, sd = 2) # n = 20, demanding spectrum
data.frame(
solver = c("inv_gft (GFT-FP+N)", "inv_gft_fp", "inv_gft_broyden",
"inv_gft_newton"),
eighs = c(inv_gft(z)$eighs, inv_gft_fp(z)$eighs,
inv_gft_broyden(z)$eighs, inv_gft_newton(z)$eighs),
converged = c(inv_gft(z)$converged, inv_gft_fp(z)$converged,
inv_gft_broyden(z)$converged, inv_gft_newton(z)$converged)
)
#> solver eighs converged
#> 1 inv_gft (GFT-FP+N) 13 TRUE
#> 2 inv_gft_fp 242 TRUE
#> 3 inv_gft_broyden 20 TRUE
#> 4 inv_gft_newton 20 TRUEFor sequences of nearby problems (e.g. along a filtration), warm starts cut the cost further:
Archakov, I. and Hansen, P. R. (2021). A new parametrization of correlation matrices. Econometrica, 89(4), 1699–1715. doi:10.3982/ECTA16910
Archakov, I. and Hansen, P. R. (2026). A variational approach to the generalized Fisher transformation of correlation matrices. Working paper.
Chen, H., Fei, Y. and Yu, J. (2025). Multivariate stochastic volatility models based on generalized Fisher transformation. Journal of Econometrics, 251, 106041.