| GFT-package | R Documentation |
Forward and inverse generalized Fisher transformation (GFT) of
correlation matrices. The GFT maps a non-singular n \times n
correlation matrix C to the real vector
\gamma = \mathrm{vecl}(\log C) of
below-diagonal elements of the matrix logarithm of C. The map is
a bijection between the set of positive definite correlation matrices
and R^d with d = n(n-1)/2 (Archakov and Hansen, 2021), and
generalizes Fisher's z-transformation, to which it reduces for
n = 2.
The forward map is computed by gft. The inverse is
computed from the variational characterization
x^*(z) = \arg\min_x \; \mathrm{tr}\, e^{A[x;z]} - \textstyle\sum_i x_i,
where A[x;z] is symmetric with off-diagonal elements z and
diagonal x, by the following solvers:
inv_gftGFT-FP+N (recommended): fixed-point phase in the log domain, then matrix-free inexact Newton via preconditioned conjugate gradients.
inv_gft_fpThe Archakov-Hansen fixed point.
inv_gft_broydenBroyden's method as in Chen, Fei and Yu (2025).
inv_gft_newtonFull Newton with the exact
O(n^4) Hessian.
The implementation is a line-faithful port of the Julia reference implementation by the same authors and uses base R only.
Ilya Archakov and Peter Reinhard Hansen.
Maintainer: Peter Reinhard Hansen hansen@unc.edu
Archakov, I. and Hansen, P. R. (2021). A new parametrization of correlation matrices. Econometrica, 89(4), 1699–1715. \Sexpr[results=rd]{tools:::Rd_expr_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.
C <- 0.9^abs(outer(1:5, 1:5, "-")) # Toeplitz correlation matrix
z <- gft(C) # forward transformation
r <- inv_gft(z) # inverse transformation
max(abs(r$C - C)) # round trip at machine precision
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.