The SFT Algorithm

Browse this site: Home | Java Usage | Matlab Usage

Learning and Coding Theory Workshop

Creators: Elizabeth Firman and Ariel Stolerman
Instructor: Prof. Muli Safra

TAU, Spring 2010

This project is an implementation of the SFT algorithm for finding the list of significant elements and their Fourier coefficients for a given function ƒ: G → C, where G is a Cartesian product of finite groups (i.e. ZN1 x ... x ZNk) described by a list of Nj's or an Abelian group described by a list of Nj's and the corresponding generators gj's.
The implementation is available for usage in two ways:
  • Java library
  • Usage within Matlab (based on the java library)
The implementation is based on the work of Adi Akavia: "Learning Noisy Characters, Multiplication Codes, And Cryptographic Hardcore Predicates" (Adi Akavia, 2008, algorithm on page 57).

Select your option for user manual and package download:
  • Java usage: download the SFT library, view Java documentation.
  • Matlab usage: download the Matlab SFT tools (library and scripts), view user manual.
Browse the SFT package code on Google-code.

Browse this site: Home | Java Usage | Matlab Usage

Created by Elizabeth Firman & Ariel Stolerman, CS Workshop, TAU Spring 2010