Opened 4 years ago
Last modified 4 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, GitHub, GitLab) | Commit: | b52c4bc419de5d0d7133148abc6be188efd774bb |
Dependencies: | Stopgaps: |
Description (last modified by )
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 4 years ago by
- Branch set to u/ruhm/nnf
comment:2 Changed 4 years ago by
- 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
comment:3 Changed 4 years ago by
- Commit changed from 7781d5ebd28c36cae8bd72e472bbc9e5936c20f8 to 8011c1c86945a5e5757d93954a419a964a6e1494
Branch pushed to git repo; I updated commit sha1. New commits:
8011c1c | use n instead of self._nvariables
|
comment:4 Changed 4 years ago by
- Commit changed from 8011c1c86945a5e5757d93954a419a964a6e1494 to b52c4bc419de5d0d7133148abc6be188efd774bb
Branch pushed to git repo; I updated commit sha1. New commits:
b52c4bc | cleanup documentation
|
comment:5 Changed 4 years ago by
- Type changed from PLEASE CHANGE to enhancement
comment:6 Changed 4 years ago by
- 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.
New commits:
initial implementation of NNF-related computation