CDF for Tracy-Widom (TW1) Distribution

Table of CDF for Beta=1 TW.

You are now following this Submission

The attached CSV file contains a 751 x 2 matrix, which can be read using the MATLAB "csvread" command.

>>data = csvread('TW1.csv');

The first column is the standardized test statistic Z, ranging from -3.9 to 3.6 in increments of 0.01. The second column is the cumulative distribution function (CDF). The CDF has been truncated, e.g. set to 0 at -3.9 and 1 at 3.6 to bound the distribution. To use this CDF for interpolating outside the -3.89 to 3.59 range, consider replacing -3.9 with -Inf and 3.60 with +Inf.

For using this distribution to test for the number of significant principal components, see: Patterson N, Price AL, Reich D, 2006 Population Structure and Eigenanalysis. PLoS Genet 2(12): e190. doi:10.1371/journal.pgen.0020190

The source data is taken, with the author's permission, from the thesis of Andrei Bejan, who performed these calculations: for further details see: http://www.cl.cam.ac.uk/~aib29/MScdssrtnWrwck.pdf

Corrections were made to the source data to fix obvious data entry errors and, using local gradients (1st and 2nd derivatives), to give a smooth PDF as well as CDF. The original data tables and the adjustments are documented in the attached TW1.xls Microsoft Excel spreadsheet.

Note: The CSV file uses the corrected data.

Cite As

Christopher Carr (2026). CDF for Tracy-Widom (TW1) Distribution (https://www.mathworks.com/matlabcentral/fileexchange/30983-cdf-for-tracy-widom-tw1-distribution), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.1.0.0

Added Patterson et al. (2006) TW1 table from EIGENSTRAT software. Credits: Nick Patterson, Plamen Koev, and Per-Olaf Persson. This table covers a wider test statistic range [-8, 8] but at reduced (0.1) step size, e.g. 161 x 2 matrix.

1.0.0.0