1. A computationally-efficient method for identifying a correlation between a single-nucleotide polymorphism (SNP) and a function-valued trait in a genome-wide association study (GWAS), the method comprising: populating a matrix of values of the function-valued trait for a plurality of subjects at a plurality of function domain points; generating a null model comprising a Gaussian distribution of the matrix with mean zero and a first covariance term, the first covariance term being determined in part by a first non-linear kernel applied to the plurality of function domain points for the function-valued trait and by a first parameter; representing the first covariance term as a first Kronecker product; calculating a first maximum likelihood for the null model; partitioning the matrix into a first partition, a second partition, and a third partition based at least in part on alleles of the SNP; generating an alternative model that sums together Gaussian distributions of the first partition, the second partition, and the third partition of the matrix with mean zero and a second covariance term determined in part by a second non-linear kernel applied to the first partition, the second partition, and the third partition of the matrix and a second parameter; representing the second covariance term as a second Kronecker product; calculating a second maximum likelihood for the alternative model; calculating a difference between the first maximum likelihood for the null model and the second maximum likelihood for the alternative model; calculating a test statistic based at least in part on the difference; and identifying existence of the correlation between the SNP and the function-valued trait based at least in part on the test statistic.