Student or educator? Sign up with your school email and get 6 months of Pro free.

The DOI matches its Crossref record; 17 of the 17 references it cites were found in a registry or an index; none of the 18 sources its claims cite is checked for support yet.

Doubly blocked variant of Genz’s method for multivariate normal integration

Open access
Peterlin, Jakob·2026·Computational Statistics

Abstract

High-dimensional multivariate normal (MVN) integration is a computational bottleneck in many statistical applications, particularly in finance and econometrics. This paper presents a modern, doubly blocked variant of Genz’s method for integrating MVN distributions, implemented in the Julia programming language. By leveraging multithreading, cache optimization, and SIMD/BLAS-friendly design, we address the memory bandwidth limitations of traditional implementations. We benchmark our approach against existing solvers in Julia, Fortran, and C++, demonstrating speedups that are often close to or above $$100\times $$ over packages such as and for large dimensions in the tested settings. We also compare our method with tiled low-rank approximations and apply it to a high-dimensional Gaussian copula model using real-world financial data. The results show that our implementation enables very fast probability calculations for high-dimensional portfolios, a task which was previously hard to achieve with standard tools.

Overview

CoChat Summary

TL;DR

This paper presents a doubly blocked (DB) variant of Genz’s method for multivariate normal integration, implemented in Julia with multithreading, cache blocking, and SIMD/BLAS-friendly design. In the tested settings it is often close to or above 100× faster than existing solvers such as mvtnorm and tlrmvnmvt for large dimensions, with optional FP32 and sparse variants.

Key findings

  • The DB algorithm was fastest for all tested matrix sizes; for \(n > 2^9\) it was often close to or above 100× faster than the other implementations that could handle larger matrices. For example, on the M2 Ultra at \(n=4096\), \(m=245{,}760\), DB took 5.1061 s versus 1081.6290 s for MvNormalCDF.jl (211.83×) and 515.2860 s for tlrmvnmvt::GenzBretz (100.92×).
  • DB-FP32 was typically about 1.5–2× faster than DB, with observed speedups from approximately 1.3 to 2.4; DB-Sparse-FP32 was up to approximately 3× faster than DB-FP32. FP32 machine epsilon is approximately \(1.19\times10^{-7}\) versus \(2.22\times10^{-16}\) for FP64.
  • The tile-low-rank (TLR) approach was slower than DB but substantially faster than the classical Genz implementation in tlrmvnmvt without low-rank approximations. In an independent equicorrelated accuracy check, FP32 variants closely tracked their FP64 counterparts, and TLR had errors of broadly similar order but did not uniformly dominate.
  • In a real-data Gaussian-copula example using S&P 500 and FTSE All-World data, the DB algorithm estimated high-dimensional portfolio probabilities in a few minutes rather than a few hours; more than 90% of the FTSE All-World index value was captured.

Methods

  • The paper implements Genz’s algorithm for \(P(a < X \le b)\) with \(X \sim N(0,\Sigma)\), using Cholesky factorization, variable reordering, unit-cube transformation, and randomized QMC (Sobol with Matoušek affine scrambling or Richtmyer with Cranley–Patterson rotations), repeated \(n_r\) times. The DB variant reorganizes the same operations into blocks over QMC points and dimensions, exposing large matrix multiplications and using BLAS, multithreading, SIMD, and cache-aware data layout.
  • Benchmarks used an Apple M2 Ultra (16 threads) and a dual-socket Intel Xeon Gold 5420+ (56 cores), with Julia 1.12.2/1.12.4 and R 4.5.2/4.4, using Apple Accelerate or Intel MKL. Simulations used covariance constructions \(\Sigma_1\)–\(\Sigma_4\), repeated at least 100 times, reporting minimum execution time; comparisons included mvtnorm, tlrmvnmvt, MvNormalCDF.jl, and TLR.
  • The real-data example used Yahoo Finance data for S&P 500 and FTSE All-World stocks from 2000 to 2025, transformed log-returns to normal scores by rank, estimated the covariance matrix, and computed \(p(b)=P(R_i \le b, i \in P)\).

Limitations

  • The paper states it focuses on positive definite covariance matrices; singular-covariance extensions such as Genz–Kwong are not covered. FP32 variants trade numerical accuracy for speed, and sparse variants use a standard non-pivoted Cholesky decomposition, which may be less numerically robust for ill-conditioned problems.
  • The real-data example is not a full production risk-monitoring workflow, and the independent accuracy check uses the special equicorrelated structure \(\Sigma_2 = I + 11^T\), so it does not establish accuracy for arbitrary covariance matrices.
  • The text notes that performance comparisons were performed within each system and are not controlled cross-system comparisons; mvtnorm can handle covariance matrices only up to size 1000, so larger sizes compare only the other implementations. The performance analysis is described as empirical rather than a formal proof of optimality.

Model-written summary. Check it against the paper before relying on it.

Integrity signals

Registry

Crossref · 10.1007/s00180-026-01794-8

Cites

17 of 17 references verified0 citation errors · 0 not checkable

Statistics

Nothing to recompute.

Figures

Image 1
CC-BY · From the PDF
Fig. 2 Benchmarks of the matrix multiplication. The x axis shows the size of the square, random, s.p.d. matrix. The y axis shows the ratio between the measured quantity and the corresponding BLAS matrix multiplication time. The minima are taken over 1000 repetitions
Fig. 2 Benchmarks of the matrix multiplication. The x axis shows the size of the square, random, s.p.d. matrix. The y axis shows the ratio between the measured quantity and the corresponding BLAS matrix multiplication time. The minima are taken over 1000 repetitionsCC-BY · From the PDF
Fig. 3 Benchmarks of the three Cholesky factorizations. The x axis shows the size of the square, random, s.p.d. matrix. The y axis shows the ratio of the minimum runtime of each implementation to that of the corresponding BLAS Cholesky implementation. The minima are taken over 1000 repetitions
Fig. 3 Benchmarks of the three Cholesky factorizations. The x axis shows the size of the square, random, s.p.d. matrix. The y axis shows the ratio of the minimum runtime of each implementation to that of the corresponding BLAS Cholesky implementation. The minima are taken over 1000 repetitionsCC-BY · From the PDF
Image 4
CC-BY · From the PDF
Fig. 5 Comparison of the performance of the DB algorithm to the tile-low-rank approach of Cao et al. (2022 ). The x axis shows the covariance-matrix dimension n . The y axis shows the ratio of the minimum time over 100 repetitions for each competing implementation to the corresponding minimum time for the DB algorithm. The numbers on the right represent the total number of the QMC points (including repetitions)
Fig. 5 Comparison of the performance of the DB algorithm to the tile-low-rank approach of Cao et al. (2022 ). The x axis shows the covariance-matrix dimension n . The y axis shows the ratio of the minimum time over 100 repetitions for each competing implementation to the corresponding minimum time for the DB algorithm. The numbers on the right represent the total number of the QMC points (including repetitions)CC-BY · From the PDF
Fig. 6 Independent accuracy comparison for Σ 2 = I + 11 T on the two test systems. The y axis shows | median( ̂ p ) -p ref | on a logarithmic scale, where p ref is obtained from Eq. 9. Each plotted value uses the unrounded stored median of 100 evaluations
Fig. 6 Independent accuracy comparison for Σ 2 = I + 11 T on the two test systems. The y axis shows | median( ̂ p ) -p ref | on a logarithmic scale, where p ref is obtained from Eq. 9. Each plotted value uses the unrounded stored median of 100 evaluationsCC-BY · From the PDF
Image 7
CC-BY · From the PDF
Image 8
CC-BY · From the PDF
Fig. 8 Standard deviations of the integral estimates over 10 3 evaluations, using either a Sobol sequence with Matoušek affine scrambling or a Richtmyer sequence with Cranley-Patterson rotations. The x -axis shows the covariance-matrix dimension n ; the rows correspond to the fixed equicorrelated Σ 2 and random s.p.d. Σ 1 cases. The y -axis shows the standard deviation
Fig. 8 Standard deviations of the integral estimates over 10 3 evaluations, using either a Sobol sequence with Matoušek affine scrambling or a Richtmyer sequence with Cranley-Patterson rotations. The x -axis shows the covariance-matrix dimension n ; the rows correspond to the fixed equicorrelated Σ 2 and random s.p.d. Σ 1 cases. The y -axis shows the standard deviationCC-BY · From the PDF

Verification

Claims the paper makes

0 Valid · 4 Not valid · 15 Not checked · 83 Own results and interpretations

34 more claims

Create a free account to see all 102 claims and to verify the 17 references still open.

See all claims — free account
  • It may state two separate claims as one. 35
  • Probably not a substantial claim. 44

Create a free account to see these claims.

Citations

Cites

Show all 17 references

Research works printed but not linked: 3

  1. Golub GH, Van Loan CF (2013) Matrix computations, 4th edn. Johns Hopkins University Press, Baltimore. ISBN 978-1-4214-0794-4
  2. McNeil AJ, Frey R, Embrechts P (2015) Quantitative risk management: concepts, techniques and tools, revised edn. Princeton University Press, Princeton. ISBN 978-0-691-16627-8
  3. Rasmussen CE, Williams CKI (2006) Gaussian processes for machine learning. MIT Press, Cambridge. ISBN 978-0-262-18253-9

Cited by

Still being checked.

Metadata

Authors
Peterlin, J.
Affiliations
University of Ljubljana (SI)
Corresponding author
Peterlin, Jakob
Venue
Computational Statistics
Published
2026-08-25
Volume
41
Issue
6
ISSN
  • 0943-4062 (ISSN-L)
  • 1613-9658
OpenAlex
W7204160647
Cited by
0
References
17
FWCI
0.00
Type
journal article
Language
en
Open access
Licence
Locations
  • Computational Statistics (publishedVersion, cc-by)
  • Repository of the University of Ljubljana (University of Ljubljana) (submittedVersion, cc-by)
  • dCOBISS.SI Digital Repository (submittedVersion, cc-by)
Funders
Javna Agencija za Raziskovalno Dejavnost RS (P3-0154)
Topics
  • Physical Sciences › Mathematics › Numerical Analysis › Mathematical Approximation and Integration
  • Physical Sciences › Mathematics › Applied Mathematics › Mathematical functions and polynomials
  • Social Sciences › Economics, Econometrics and Finance › Finance › Stochastic processes and financial applications
Keywords
high-dimensional integration, Julia implementation, multithreading, SIMD optimization, BLAS, memory bandwidth, low-rank approximation, Gaussian copula

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

A language model drew the claims from the paper on 2026-11-15, under version 3 of the claim definition (model deepseek-v4.1-flash, prompt extract-v3).

A second model labelled each claim on 2026-11-15 (model jev-1.13-20260917, definition revision gold-guideline-v0.2).

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review

How to cite

Cite CoChat for the checks on this page, and the paper for its own findings.

This page
CoChat. (2026). Citation check: Doubly blocked variant of Genz’s method for multivariate normal integration. https://app.cochat.ai/papers/10.1007/s00180-026-01794-8
The paper
Peterlin, J. (2026). Doubly blocked variant of Genz’s method for multivariate normal integration. Computational Statistics. https://doi.org/10.1007/s00180-026-01794-8

Data sources

Bibliographic data: Semantic Scholar, OpenAlex, Crossref.

Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).

Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.