Opened 2 years ago

Last modified 2 years ago

#25246 needs_work enhancement

implementation of numerical normal form for Boolean function

Reported by: ruhm Owned by:
Priority: major Milestone: sage-8.2
Component: cryptography Keywords: Boolean function, numerical normal form, days94
Cc: Merged in:
Authors: Rusydi H. Makarim Reviewers: Friedrich Wiemer
Report Upstream: N/A Work issues:
Branch: u/ruhm/nnf (Commits) Commit: b52c4bc419de5d0d7133148abc6be188efd774bb
Dependencies: Stopgaps:

Description (last modified by ruhm)

This patch contains implementation of function to compute numerical normal form of a Boolean function and the numerical degree (i.e., the degree of its numerical normal form).

Change History (6)

comment:1 Changed 2 years ago by ruhm

  • Branch set to u/ruhm/nnf

comment:2 Changed 2 years ago by ruhm

  • Authors set to Rusydi H. Makarim
  • Commit set to 7781d5ebd28c36cae8bd72e472bbc9e5936c20f8
  • Component changed from PLEASE CHANGE to cryptography
  • Description modified (diff)
  • Keywords Boolean function numerical normal form added
  • Status changed from new to needs_review

New commits:

7781d5einitial implementation of NNF-related computation

comment:3 Changed 2 years ago by git

  • Commit changed from 7781d5ebd28c36cae8bd72e472bbc9e5936c20f8 to 8011c1c86945a5e5757d93954a419a964a6e1494

Branch pushed to git repo; I updated commit sha1. New commits:

8011c1cuse n instead of self._nvariables

comment:4 Changed 2 years ago by git

  • Commit changed from 8011c1c86945a5e5757d93954a419a964a6e1494 to b52c4bc419de5d0d7133148abc6be188efd774bb

Branch pushed to git repo; I updated commit sha1. New commits:

b52c4bccleanup documentation

comment:5 Changed 2 years ago by ruhm

  • Type changed from PLEASE CHANGE to enhancement

comment:6 Changed 2 years ago by asante

  • Keywords days94 added
  • Reviewers set to Friedrich Wiemer
  • Status changed from needs_review to needs_work

Maybe you should add an optional argument to allow naming the variables used in the polynomial ring.

In the case where the base_ring not in (QQ, RR, ZZ) I would find it more convenient to also output the actual value of the argument?

In the for loop, you might want to use the enumerate(v) function.

Note: See TracTickets for help on using tickets.