Skip to main content

Efficiently computing sparse Fourier transforms of functions

Reason this release was yanked:

bugs

Project description

Efficient Sparse q-ary Fourier Transforms

This repository contains code for the paper:

"Efficiently Computing Sparse Fourier Transforms of $q$-ary Functions" Yigit Erginbas*, Justin Kang*, Amirali Aghazadeh, Kannan Ramchandran

*Equal contribution: These authors contributed equally.

This package may be useful to you if you deal with complicated functions of $q$-ary sequences, for example, functions of protiens, DNA or RNA.

Table of Contents

Abstract

Fourier transformations of pseudo-Boolean functions are popular tools for analyzing functions of binary sequences. Real-world functions often have structures that manifest in a sparse Fourier transform, and previous works have shown that under the assumption of sparsity the transform can be computed efficiently. But what if we want to compute the Fourier transform of functions defined over a $q$-ary alphabet? These types of functions arise naturally in many areas including biology. A typical workaround is to encode the $q$-ary sequence in binary however, this approach is computationally inefficient and fundamentally incompatible with the existing sparse Fourier transform techniques. Herein, we develop a sparse Fourier transform algorithm specifically for $q$-ary functions of length $n$ sequences, dubbed $q$-SFT, which provably computes an $S$-sparse transform with vanishing error as $q^n$ goes to $\infty$ in $O(Sn)$ function evaluations and $O(S n^2 \log q)$ computations, where $S = q^{n\delta}$ for some $\delta < 1$. Under certain assumptions, we show that for fixed $q$, a robust version of $q$-SFT has a sample complexity of $O(Sn^2)$ and a computational complexity of $O(Sn^3)$ with the same asymptotic guarantees. We present numerical simulations on synthetic and real-world RNA data, demonstrating the scalability of $q$-SFT to massively high dimensional $q$-ary functions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qsft-0.0.1.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qsft-0.0.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file qsft-0.0.1.tar.gz.

File metadata

  • Download URL: qsft-0.0.1.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.8

File hashes

Hashes for qsft-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e8790794a67323923cf3fa5a2688b44a96f3f3a0f1cf7747146184376bc93de2
MD5 24bba9f0dd2fd93860eb9e54f4ccfe19
BLAKE2b-256 e487bcdc3bacb9b230488d4173fdf419728a5cc20e00d98637b105a93a4dd615

See more details on using hashes here.

File details

Details for the file qsft-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: qsft-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.8

File hashes

Hashes for qsft-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a0b1e129d27465598542ee8ba2fc9ca48bea21fd8be845214c091a3e84b1aa32
MD5 d4ecd35e79a6ecdda87dba05ea1036f1
BLAKE2b-256 62de213f9b4cddb317bc0b073ca84ad3d4f59025270e08a4747d56c684005ad5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page