mobiusTransform {boolfun}R Documentation

Mobius Inversion

Description

In this package, the Mobius inversion is used to compute the coefficient of each monomial in the algebraic normal form of the input Boolean function. That is, on input a truth table of length 2^n, mobiusTransforms returns a vector of length 2^n where each entry equals one if the corresponding monomial appears in the algebraic normal form (zero otherwise) - see Details.

Usage

mobiusTransform( truthTable )

Arguments

truthTable a vector of integers containing 2^n binary entries - see BooleanFunction.

Details

The value is computed in O(n2^n) using C code. For more information, type vignette(boolfun).

Value

mobiusTransform returns a vector of integers in {0,1} of same length as the input vector (i.e. 2^n). The i^th entry is 1 if the monomial i appears in the algebraic normal form of the input function.

References

Graham, Knuth, Patashnik. Concrete Mathematics. second edition. pp.136.

Ann Braeken. Cryptographic Properties of Boolean Functions and S-Boxes. phd thesis - 2006.

The vignette of this package.

See Also

BooleanFunction

Examples

tt <- c(0,1,1,0,1,0,0,1)
anf <- mobiusTransform(tt)

[Package boolfun version 0.2.6 Index]