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 accessAbstract
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
Cites
Statistics
Figures









Verification
Claims the paper makes
0 Valid · 4 Not valid · 15 Not checked · 83 Own results and interpretations
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“We benchmark our approach against existing solvers in Julia, Fortran, and C++, demonstrating speedups that are often close to or above 100× over packages such as mvtnorm and tlrmvnmvt for large dimensions in the tested settings.”
- Also stated in: § 1 Introduction · plain
“By addressing these systems-level bottlenecks through multithreading, blocking, and SIMD instructions, we achieve significant speedups.”
§ Doubly blocked variant of Genz's method for multivariate normal integration > Abstract
boostedstates a cause- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
- Rests on an assumption not shown here.
- Also stated in: § 1 Introduction · plain
A result the paper states — it cites no source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Note that when high integration accuracy is required and hence m is large, or when accurate error estimation is required and hence n r is large, the matrix multiplication step becomes especially time consuming when n is such that the matrices fit in RAM (typically, when n < 2 16 ).”
§ Doubly blocked variant of Genz's method for multivariate normal integration > 3 Performance analysis and complexity
plainstates a cause- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: unclear — It is unclear whether the paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper states — it cites no source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“In particular, it is substantially faster to evaluate multiple erf calls along a column than across a row.”
§ Doubly blocked variant of Genz's method for multivariate normal integration > 3.1 Matrix multiplication
plainstates a cause- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“Table 1 and Fig. 1 show that the most time-consuming parts of the Genz algorithm, for large n, are the pivoted Cholesky factorization and the matrix multiplication-like update in step 8 of Algorithm 1.”
§ Doubly blocked variant of Genz's method for multivariate normal integration > 3 Performance analysis and complexity
plainstates an association- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
A result the paper reports from its own data — it cites no other source for it, so there is none to check. The quote shows it is in the paper.
In the paper
“In the tested settings, these computational modifications did not produce a systematic loss of accuracy relative to other implementations of the Genz algorithm.”
§ Doubly blocked variant of Genz's method for multivariate normal integration > 2 Doubly blocked Genz-Bretz algorithm
plain- Asserted: passes — The authors put it forward as true.
- Checkable: passes — It can be checked against evidence.
- Load-bearing: passes — The paper’s conclusions depend on it.
- Based: passes — The paper gives a reason why it holds.
34 more claims
Create a free account to see all 102 claims and to verify the 17 references still open.
- It may state two separate claims as one. 35
- Probably not a substantial claim. 44
Citations
Cites
Simultaneous Inference in General Parametric Models
Hothorn, T., Bretz, F., & Westfall, P. (2008) · Biometrical Journal · doi:10.1002/bimj.200810425 · Cited by 13,847
Correlation and Dependence in Risk Management: Properties and Pitfalls
Paul Embrechts, A., McNeil, A. J., & Straumann, D. (2002) · Cambridge University Press eBooks · doi:10.1017/cbo9780511615337.008 · Cited by 1,991
On Default Correlation: A Copula Function Approach
Li, D. X. (2000) · The Journal of Fixed Income · doi:10.3905/jfi.2000.319253 · Cited by 1,257
Numerical Computation of Multivariate Normal Probabilities
Genz, A. (1992) · Journal of Computational and Graphical Statistics · doi:10.1080/10618600.1992.10477010 · Cited by 1,020
Computation of Multivariate Normal and t Probabilities
Genz, A., & Bretz, F. (2009) · Lecture Notes in Statistics · doi:10.1007/978-3-642-01689-9 · Cited by 902
Algorithm 659: Implementing Sobol's quasirandom sequence generator
Bratley, P., & Fox, B. L. (1988) · ACM Transactions on Mathematical Software · doi:10.1145/42288.214372 · Cited by 754
Monte Carlo and Quasi-Monte Carlo Sampling
(2009) · Springer Series in Statistics · doi:10.1007/978-0-387-78165-5 · Cited by 497
Hajivassiliou, V., McFadden, D., & Ruud, P. (1996) · Journal of Econometrics · doi:10.1016/0304-4076(94)01716-6 · Cited by 463
Comparison of Methods for the Computation of Multivariate t Probabilities
Genz, A., & Bretz, F. (2002) · Journal of Computational and Graphical Statistics · doi:10.1198/106186002394 · Cited by 394
Remark on algorithm 659: Implementing Sobol's quasirandom sequence generator
Joe, S., & Kuo, F. Y. (2003) · ACM Transactions on Mathematical Software · doi:10.1145/641876.641879 · Cited by 346
Research works printed but not linked: 3
- Golub GH, Van Loan CF (2013) Matrix computations, 4th edn. Johns Hopkins University Press, Baltimore. ISBN 978-1-4214-0794-4
- 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
- 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
- ORCID
- Peterlin, Jakob
- Venue
- Computational Statistics
- Published
- 2026-08-25
- Volume
- 41
- Issue
- 6
- ISSN
- 0943-4062 (ISSN-L)
- 1613-9658
- OpenAlex
- W7204160647
- Semantic Scholar
- 7ee7d931044289b91e9fd4b4c285bb9bb6e55376
- Cited by
- 0
- References
- 17
- FWCI
- 0.00
- Type
- journal article
- Language
- en
- Open access
- hybrid
- doi.org
- Licence
- cc-by
- creativecommons.org/licenses/by/4.0 (tdm)
- creativecommons.org/licenses/by/4.0 (vor)
- 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.