Skip to content

Releases: Infleqtion/qLDPC

v0.0.15

17 May 19:28
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.0.14...v0.0.15

v0.0.14

27 Apr 02:44
Compare
Choose a tag to compare

What's Changed

  • Rename quasi-cyclic code to bivariate bicycle code by @perlinm in #93

Full Changelog: v0.0.13...v0.0.14

v0.0.13

25 Apr 02:05
Compare
Choose a tag to compare

What's Changed

  • Retrieve SmallGroup structure descriptions by @perlinm in #85
  • Save both X and Z distance when they are known to be equal by @perlinm in #86
  • Identify the dimension of qudit codes by @perlinm in #87
  • Use symplectic CSS parity check matrix by @perlinm in #88
  • Clean up graph construction of HGP product by @perlinm in #90
  • Add logical operator construction for QuditCodes by @perlinm in #89
  • Experiments: save quasi-cyclic codes with a minimum encoding rate by @perlinm in #91
  • Faster calculation of QCCode dimension by @perlinm in #92

Full Changelog: v0.0.12...v0.0.13

v0.0.12

15 Apr 15:12
Compare
Choose a tag to compare

What's Changed

  • Revert to "three code parameters" convention: [n, k, d] by @perlinm in #71
  • Fix random symmetric subset generation by @perlinm in #72
  • Move disk caching decorator to its own file by @perlinm in #73
  • Ensure that CayleyComplexes are connected by @perlinm in #74
  • Better group descriptions by @perlinm in #75
  • Add quantum Tanner code search experiment file by @perlinm in #65
  • Faster CayleyComplex construction by @perlinm in #76
  • Faster GroupMember initialization by @perlinm in #77
  • Add disk cache test by @perlinm in #78
  • Add quasi-cyclic code search by @perlinm in #79
  • Add missing toric layouts to the QCCodes by @perlinm in #80
  • Faster lifts for CyclicGroup and AbelianGroup by @perlinm in #81
  • Faster toric mappings for QCCode by @perlinm in #82
  • Separate codes.py into a module by @perlinm in #83
  • Move named_*.py files into an external module by @perlinm in #84

Full Changelog: v0.0.11...v0.0.12

v0.0.11

02 Apr 21:32
Compare
Choose a tag to compare

What's Changed

  • Allow the boundary operators of a ChainComplex to be abstract.Protopraphs by @perlinm in #52
  • Remove restriction on rotated toric code dimensions by @perlinm in #53
  • Add random quantum Tanner codes by @perlinm in #54
  • Construct abstract.Group instances from permutations by @perlinm in #55
  • More permissive Protograph.build by @perlinm in #56
  • Add five-qubit and steane codes by @perlinm in #57
  • Add human-readable representations of codes by @perlinm in #58
  • Better use of random number seeds by @perlinm in #59
  • Add qudit conjugation to QuditCodes by @perlinm in #60
  • Save quantum Tanner codes to a file, and read them from a file by @perlinm in #61
  • Add AbstractCode.name property by @perlinm in #62
  • Add Group.name property by @perlinm in #63
  • Update github action versions by @perlinm in #64
  • Handle missing paths in QTCode.save and QTCode.load by @perlinm in #66
  • By convention, trivial (dimension-0) codes have infinite distance by @perlinm in #67
  • infinite distnace --> undefined (np.nan) distance for trivial (dimension-0) codes by @perlinm in #68
  • Better use of exact distances, when known by @perlinm in #69
  • Fix some QCCode bugs by @perlinm in #70

Full Changelog: v0.0.10...v0.0.11

v0.0.10

28 Mar 16:07
Compare
Choose a tag to compare

What's Changed

  • Fix bug with the order of symbols/variables in QCCode by @perlinm in #50
  • Add "folded torus" layout to QCCode by @perlinm in #51

Full Changelog: v0.0.9...v0.0.10

v0.0.9

28 Mar 13:37
Compare
Choose a tag to compare

What's Changed

  • Add capability to load groups from GAP by @perlinm in #29
  • partity -> parity by @vtomole in #30
  • Simplify SmallGroup construction by @perlinm in #31
  • Allow indexing arrays with Pauli X and Z operators by @perlinm in #32
  • Upgrade abstract.Group.order to a property by @perlinm in #34
  • Save exact calculated distances by @perlinm in #35
  • Fix bug in random nontrivial logical operator construction by @perlinm in #36
  • Add SurfaceCode and ToricCode by @perlinm in #37
  • Add construction of Tanner codes with undirected subgraphs by @perlinm in #38
  • Fix bug in GBCode with qudits by @perlinm in #39
  • Identify number of SmallGroups of a given order by @perlinm in #40
  • Move QTCode subgraph constructions from CayleyComplex to QTCode by @perlinm in #42
  • Add ChainComplex object, and ChainComplex.tensor_product by @perlinm in #43
  • Make Protograph a subclass of numpy.ndarray by @perlinm in #44
  • Puncture and shorten ClassicalCodes by @perlinm in #41
  • Add GeneralizedSurfaceCode by @perlinm in #45
  • Improved arithmetic with group algebras by @perlinm in #47
  • Instantiate quasi-cyclic codes (QCCodes) from sympy polynomials by @perlinm in #48
  • Change equality check between ClassicalCode instances by @perlinm in #46
  • Identify "toric" layouts of quasi-cyclic codes (QCCodes) by @perlinm in #49

New Contributors

Full Changelog: v0.0.8...v0.0.9

v0.0.8

19 Mar 21:43
Compare
Choose a tag to compare

What's Changed

  • Faster logical operator construction by @perlinm in #13
  • Additions to groups.py: SL, PSL, random symmetric subsets, new Group constructor by @mittaltushant in #15
  • formatting fixes by @perlinm in #17
  • better generation of nontrivial random logical operators by @perlinm in #18
  • (even) better generation of nontrivial random logical operators by @perlinm in #19
  • Require that each file is covered by its own test file by @perlinm in #20
  • Overhaul distance calculations and API by @perlinm in #21
  • Overhaul and simplify CayleyComplex construction by @perlinm in #22
  • Add DicyclicGroup, GAP16, GAP18, and GAP20 by @perlinm in #23
  • Add example notebook by @perlinm in #26
  • Build groups indexed by GAP by @perlinm in #25
  • Add GAP code constructions by @perlinm in #24
  • More classical code options by @perlinm in #27
  • Add Reed-Muller code by @perlinm in #28

Full Changelog: v0.0.6...v0.0.8

v0.0.6

24 Jan 11:29
Compare
Choose a tag to compare

What's Changed

  • Add github continuous integration workflow by @perlinm in #10
  • Support solving integer linear programs with modulus > 2 by @perlinm in #11
  • Qudit class and a newer CSS class by @mittaltushant in #9
  • Generalize calculation of logical qubit operators to the qudit case by @perlinm in #12

Full Changelog: v0.0.5...v0.0.6

v0.0.5

09 Jan 23:40
Compare
Choose a tag to compare

Classical codes can now be defined over more general finite fields.

What's Changed

  • Use modern typing annotations by @perlinm in #2
  • add py.typed by @perlinm in #3
  • always enforce modern annotation style by @richrines1 in #4
  • Allow for classical codes over finite fields of any order by @mittaltushant in #6
  • View galoir.FieldArray objects as numpy arrays by @perlinm in #8
  • Add distance calculation for classical codes with non-binary fields by @perlinm in #7

New Contributors

Full Changelog: v0.0.4...v0.0.5