众所周知,alist文件是一种保存稀疏矩阵格式,常用于保存LDPC码的校验矩阵与生成矩阵。
Matrix File Formats - TU Kaiserslautern提供了一个信道编码的数据库,并给出了数据库中信道编码的校验矩阵的存储方法和格式。
这种格式也见于alist format
Database of Channel Codes and ML Simulation Results从这里可以下载校验矩阵的alist文件。
读取alist文件中保存的矩阵,将稀疏矩阵保存为alist格式,有以下三种python方案(其中前两种,矩阵的行和列设定是一致的):
要注意的是,可能保存或读写的是想获得的稀疏矩阵的转置,在应用以上的脚本时,根据自己的需要和判断,决定加不加.T
最适合Matrix File Formats - TU Kaiserslautern的python实现
import numpy as np
# 校验矩阵的读取
def alistToNumpy(lines):
"""Converts a parity-check matrix in AList format to a 0/1 numpy array. The argument is a
list-of-lists corresponding to the lines of the AList format, already parsed to integers
if read from a text file.
The AList format is introduced on http://www.inference.phy.cam.ac.uk/mackay/codes/alist.html.
This