@@ -54,12 +54,14 @@ def load_csv(filename, limit=None, mmap_flag=False):
5454def make_matrix (msgs , sigs , pubs , B , order , matrix_type = "dense" ):
5555 """Construct matrix, either sparse or dense, based on the matrix_type parameter."""
5656 m = len (msgs )
57+ m1 = m + 1
58+ M2 = m + 2
5759 sys .stderr .write (f"Using: { m } sigs...\n " )
5860
5961 if matrix_type == "sparse" :
60- matrix = SparseMatrix (QQ , m + 2 , m + 2 )
62+ matrix = SparseMatrix (QQ , m2 , m2 )
6163 else :
62- matrix = Matrix (QQ , m + 2 , m + 2 )
64+ matrix = Matrix (QQ , m2 , m2 )
6365
6466 msgn , rn , sn = msgs [- 1 ], sigs [- 1 ][0 ], sigs [- 1 ][1 ]
6567 rnsn_inv = rn * modular_inv (sn , order )
@@ -72,11 +74,12 @@ def make_matrix(msgs, sigs, pubs, B, order, matrix_type="dense"):
7274 # Set values for the matrix (only first m columns)
7375 for i in range (m ):
7476 matrix [m , i ] = (sigs [i ][0 ] * modular_inv (sigs [i ][1 ], order )) - rnsn_inv
75- matrix [m + 1 , i ] = (msgs [i ] * modular_inv (sigs [i ][1 ], order )) - mnsn_inv
77+ matrix [m1 , i ] = (msgs [i ] * modular_inv (sigs [i ][1 ], order )) - mnsn_inv
7678
7779 # Populate last two columns with specific values
78- matrix [m , m + 1 ] = int (2 ** B ) / order
79- matrix [m + 1 , m + 1 ] = 2 ** B
80+ B2 = 1 << B
81+ matrix [m , m1 ] = B2 / order
82+ matrix [m1 , m1 ] = B2
8083
8184 return matrix
8285
0 commit comments