-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bad matrix rank error #9
Comments
Depend from your weight distribution, you can get linear depended in qc representation. Try to lift it again or use different weight distribution. For example for weight 4 column regular code you ll always get not full rank. |
Could you give me an example of correct weight distribution for vn_degree_node and cn_degree_nodes? I am trying with weight distributions from literature, but then I get different error during PEG phase. |
Begin from almost regular like 3 3 3 4 ... 4 for example from https://github.com/Lcrypto/trapping-sets-enumeration/tree/master/Article%20An%20Modified%20Cole's%20Importance%20Sampling%20Method%20For%20Low%20Error%20Floor%20QC-LDPC%20Codes%20Construction it always full rank |
Thank you very much for your help! |
You are Welcome! |
Please excuse my questions but I have one more. When I want to make a QC-code with size e.g. n=20, m=10, I get the error: This problem only appears when making QC-code with bigger sizes, e.g. for n=10 and m=5, everything works fine. |
I don't recommend to use column weight too large and circulant larger 128. If you want large sizes best way to use https://github.com/Lcrypto/Density-Evolution-AWGN/blob/master/rand_proto.m And after use simulation annealing with large emd https://github.com/Lcrypto/Simulated-annealing-lifting-QC-LDPC If you still want peg better use matlab peg+ace implementation |
I truly appreciate your code and want to analyze it deeper. For this reason I would like to ask about the error which I am getting in mm_qc_pega.py.
I am running the code with your default settings, nothing changed and I am getting error on this line:
assert np.linalg.matrix_rank(H) == G.n_cn, "Bad matrix rank"
Do you have an idea why the rank of matrix H is not equal the size of G matrix? To be precise, the rank of H is 1 rank smaller.
Thank you in advance!
The text was updated successfully, but these errors were encountered: