{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/variational-fourier-features-for-gaussian","title":"Variational Fourier features for Gaussian processes","arxiv_id":"1611.06740","date":"2016-11-21","proceeding":null,"authors":["James Hensman","Nicolas Durrande","Arno Solin"],"abstract":"This work brings together two powerful concepts in Gaussian processes: the\nvariational approach to sparse approximation and the spectral representation of\nGaussian processes. This gives rise to an approximation that inherits the\nbenefits of the variational approach but with the representational power and\ncomputational scalability of spectral representations. The work hinges on a key\nresult that there exist spectral features related to a finite domain of the\nGaussian process which exhibit almost-independent covariances. We derive these\nexpressions for Matern kernels in one dimension, and generalize to more\ndimensions using kernels with specific structures. Under the assumption of\nadditive Gaussian noise, our method requires only a single pass through the\ndataset, making for very fast and accurate computation. We fit a model to 4\nmillion training points in just a few minutes on a standard laptop. With\nnon-conjugate likelihoods, our MCMC scheme reduces the cost of computation from\nO(NM2) (for a sparse Gaussian process) to O(NM) per iteration, where N is the\nnumber of data and M is the number of features.","url_abs":"http://arxiv.org/abs/1611.06740v2","url_pdf":"http://arxiv.org/pdf/1611.06740v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"variational-fourier-features-for-gaussian","repo_url":"https://github.com/jameshensman/VFF","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"gaussian-processes","task_name":"Gaussian Processes"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1611.06740","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1611.06740"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jameshensman/VFF","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"c1281075d9c658d3","entry":"kron","repo":"jameshensman/VFF","repo_kind":"official","path":"VFF/kronecker_ops.py","file_url":"https://github.com/jameshensman/VFF/blob/HEAD/VFF/kronecker_ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c1281075d9c658d3"}},{"code_sha256_prefix":"30d42c0f8cb741ac","entry":"kron_two","repo":"jameshensman/VFF","repo_kind":"official","path":"VFF/kronecker_ops.py","file_url":"https://github.com/jameshensman/VFF/blob/HEAD/VFF/kronecker_ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"30d42c0f8cb741ac"}},{"code_sha256_prefix":"c280086a6d06377d","entry":"kron_vec_mul","repo":"jameshensman/VFF","repo_kind":"official","path":"VFF/kronecker_ops.py","file_url":"https://github.com/jameshensman/VFF/blob/HEAD/VFF/kronecker_ops.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c280086a6d06377d"}},{"code_sha256_prefix":"004856114e94c907","entry":"kron_vec_sqrt_transpose","repo":"jameshensman/VFF","repo_kind":"official","path":"VFF/gpmc.py","file_url":"https://github.com/jameshensman/VFF/blob/HEAD/VFF/gpmc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"004856114e94c907"}},{"code_sha256_prefix":"638b0440244bbc71","entry":"make_Kuf_no_edges","repo":"jameshensman/VFF","repo_kind":"official","path":"VFF/spectral_covariance.py","file_url":"https://github.com/jameshensman/VFF/blob/HEAD/VFF/spectral_covariance.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"638b0440244bbc71"}},{"code_sha256_prefix":"ce728742c7c183ef","entry":"psi1","repo":"jameshensman/VFF","repo_kind":"official","path":"VFF/psi_statistics.py","file_url":"https://github.com/jameshensman/VFF/blob/HEAD/VFF/psi_statistics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ce728742c7c183ef"}},{"code_sha256_prefix":"6c664552f0a85f97","entry":"uniform","repo":"jameshensman/VFF","repo_kind":"official","path":"VFF/psi_statistics.py","file_url":"https://github.com/jameshensman/VFF/blob/HEAD/VFF/psi_statistics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6c664552f0a85f97"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}