Opened 3 years ago
Last modified 9 hours ago
#21226 new enhancement
An Abstract Class for Rank Metric Codes
Reported by:  arpitdm  Owned by:  ghemes4 

Priority:  major  Milestone:  
Component:  coding theory  Keywords:  
Cc:  dlucas, jsrn, dimpase  Merged in:  
Authors:  Arpit Merchant, Marketa Slukova  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  u/ghemes4/coding/linear_rank_metric (Commits)  Commit:  08b6e4f604eb23e53fdb60e7ee724c643b46b125 
Dependencies:  #28073, #28209  Stopgaps: 
Description (last modified by )
We propose to implement AbstractRankMetricCode
, an abstract class for rank metric codes which will initialize the basic parameters that every rank metric code possesses. This will inherit from AbstractCode
class. Further, we propose to add rankmetric based methods to compute distance, weight and allow for matrix to vector (and reverse) conversions between representations. Finally, we create a generic representative class LinearRankMetricCode
as well as encoding (generator matrix, systematic) and decoding (nearest neighbour) methods.
Change History (13)
comment:1 Changed 3 years ago by
 Branch set to u/arpitdm/abstract_linear_rank_metric_code_class
comment:2 Changed 3 years ago by
 Commit set to 7e4b3a3b6fb6b6bcce84f85007b0ae0574f5c37f
comment:3 followup: ↓ 4 Changed 3 years ago by
Hello,
I won't comment extensively for now, as there's still a lot to do. I just have one small comment/remark to keep in mind for later: when you will work on documentation, remember to carefully explain which representation you chose (matrix vs. vector) and how to get the other one to be sure users do understand how this class works and what they should expect from it.
David
comment:4 in reply to: ↑ 3 Changed 3 years ago by
Replying to dlucas:
Hello,
I won't comment extensively for now, as there's still a lot to do. I just have one small comment/remark to keep in mind for later: when you will work on documentation, remember to carefully explain which representation you chose (matrix vs. vector) and how to get the other one to be sure users do understand how this class works and what they should expect from it.
Seconded. And remember to explain that this class *only* supports rankmetric codes which are linear over the big field!
Best, Johan
comment:5 Changed 3 years ago by
What's the state of this? What is missing? When do you plan to do it?
Best, Johan
comment:6 Changed 3 years ago by
I think the class should be call AbstractLinearRankMetricCode
by the way. It's terribly long, but the Linear
is important.
comment:7 Changed 6 days ago by
 Branch changed from u/arpitdm/abstract_linear_rank_metric_code_class to u/ghemes4/coding/linear_rank_metric
 Commit 7e4b3a3b6fb6b6bcce84f85007b0ae0574f5c37f deleted
 Dependencies set to #28073
 Description modified (diff)
comment:8 Changed 6 days ago by
 Commit set to a251c61567015e7159d231a6b828ef617ee5566b
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
64f446a  Merge branch 'develop' of git://trac.sagemath.org/sage into abstract_code

53e445b  added base_ring and length parameter to AbstractCode

5e6dffe  Fixed some dependencies. Category still set up wrong.

ba4fc53  Merge branch 'abstract_code' into t/28073/abstract_code

e8edfeb  Fixed unclean merge.

880aebb  Fixed default decoder/encoder dependencies. Set to None by default.

d115600  No category set up and base_field in AbstractCode. No encoder/decoder error msgs. Documentation and tests.

82fdc3c  Merge branch 'develop' of git://trac.sagemath.org/sage into rank_metric

5c0fd69  Merge branch 'develop' of git://trac.sagemath.org/sage into rank_metric

a251c61  Inheriting from Abstract Code. Encoding, decoding methods. Generic LinearRankMetricCode class.

comment:9 Changed 6 days ago by
 Commit changed from a251c61567015e7159d231a6b828ef617ee5566b to 05476b32a4a94be0d02eba67c9922217ccf7dc9f
Branch pushed to git repo; I updated commit sha1. New commits:
05476b3  Generator matrix methods in AbstractLinearRankMetricCode

comment:10 Changed 6 days ago by
 Owner changed from (none) to ghemes4
comment:11 Changed 6 days ago by
 Commit changed from 05476b32a4a94be0d02eba67c9922217ccf7dc9f to 08b6e4f604eb23e53fdb60e7ee724c643b46b125
Branch pushed to git repo; I updated commit sha1. New commits:
524efc8  Inheriting from Abstract Code. Encoding, decoding methods. Generic LinearRankMetricCode class.

77fc1e2  Generator matrix methods in AbstractLinearRankMetricCode

08b6e4f  Merge branch 'u/ghemes4/coding/linear_rank_metric' of git://trac.sagemath.org/sage into rank_metric

comment:12 Changed 5 days ago by
 Cc dimpase added
comment:13 Changed 9 hours ago by
 Dependencies changed from #28073 to #28073, #28209
More to follow.
New commits:
added a very basic constructor, a couple of basic getter methods and deleted a couple of methods from ALC class. added some rank distance, rank weight, to_matrix_representation and from_matrix_representation.