项目作者: jonbenronron

项目描述 :
Matrices for polynomials over field Z/2Z
高级语言: Python
项目地址: git://github.com/jonbenronron/F2Matrices.git
创建时间: 2020-05-22T16:29:18Z
项目社区:https://github.com/jonbenronron/F2Matrices

开源协议:GNU General Public License v3.0

下载


F2Matrices

Description

Matrices) and polynomials over field Z/2Z).
Documentation for files will be found here.

Examples:

Example 1

  1. a = F2Polynomial([1, 1, 1, 0])
  2. b = F2Polynomial([0, 1, 0, 0])
  3. c = F2Polynomial([1, 1, 1, 1])
  4. d = F2Polynomial([1, 0, 1, 1])
  5. f = F2Matrix([[a, b],
  6. [c, d]])
  7. g = F2Matrix([[d, c],
  8. [b, a]])
  9. h = f + g
  10. print(str(f), " + \n")
  11. print(str(g), " = \n")
  12. print(str(h), "\n")

will print out:

  1. | 1 + D + D^2, D|
  2. |1 + D + D^2 + D^3, 1 + D^2 + D^3| +
  3. | 1 + D^2 + D^3, 1 + D + D^2 + D^3|
  4. | D, 1 + D + D^2| =
  5. | D + D^3, 1 + D^2 + D^3|
  6. |1 + D^2 + D^3, D + D^3|

Example 2

  1. a = F2Polynomial([1, 0, 0, 0])
  2. b = F2Polynomial([1, 1, 0, 0])
  3. c = F2Polynomial([1, 1, 1, 0])
  4. d = F2Polynomial([1, 1, 1, 1])
  5. f = F2Matrix([[a, b],
  6. [c, d]])
  7. g = F2Matrix([[d, c],
  8. [b, a]])
  9. h = f * g
  10. print(str(f), " * \n")
  11. print(str(g), " = \n")
  12. print(str(h), "\n")

will print out:

  1. | 1, 1 + D|
  2. | 1 + D + D^2, 1 + D + D^2 + D^3| *
  3. |1 + D + D^2 + D^3, 1 + D + D^2|
  4. | 1 + D, 1| =
  5. | D + D^3, D^2|
  6. |D^2 + D^3 + D^4 + D^5, D + D^3 + D^4|

Example 3

  1. a = F2Polynomial([1, 0, 0, 0])
  2. b = F2Polynomial([1, 1, 0, 0])
  3. c = F2Polynomial([1, 1, 1, 0])
  4. d = F2Polynomial([1, 1, 1, 1])
  5. f = F2Matrix([[a, b],
  6. [c, d]])
  7. h = f ** 2
  8. print(str(f), " ** 2 = \n")
  9. print(str(h), "\n")

will print out:

  1. | 1, 1 + D|
  2. | 1 + D + D^2, 1 + D + D^2 + D^3| ** 2 =
  3. | D^3, D + D^4|
  4. | D + D^3 + D^5, D^2 + D^3 + D^4 + D^6|

State

  • [x] F2Polynomial

    • __init__
    • __str__
    • degree
    • __add__
    • __iadd__
    • __mul__
    • __imul__
    • __pow__
    • evaluate
  • [x] dotProduct

  • [x] F2Matrix

    • __init__
    • __str__
    • __add__
    • __iadd__
    • transpose
    • __mul__
    • __imul__
    • __pow__
    • changeColumns
    • changeRows
    • addColumns
  • [x] findPivot

  • smithNormalForm