quantumgizmos / ldpc

Software for decoding classical and quantum codes
MIT License
79 stars 27 forks source link

Cluster stats #26

Closed lucasberent closed 9 months ago

lucasberent commented 9 months ago

add functionality to track lsd cluster statistics.

quantumgizmos commented 9 months ago

When I run the "cpp test" I get the following output:

{"individual_cluster_stats":{"1":{"active":1,"final_bit_count":2,"undergone_growth_steps":1,"nr_merges":1,"got_valid_in_timestep":0,"size_history":[0,2]},"0":{"active":0,"final_bit_count":1,"undergone_growth_steps":1,"nr_merges":0,"got_valid_in_timestep":-1,"size_history":[0,1]}},"global_timestep_bit_history":{"0":{"1":[1,0],"0":[0]}}}

Is there a way of telling when the cluster becomes inactive (ie., when it is merged into another cluster). Can we save wich cluster it is merged into? I think this could be done by adding two extra members: bool absorbed and int absorbed_into_cluster

lucasberent commented 9 months ago

When I run the "cpp test" I get the following output:

{"individual_cluster_stats":{"1":{"active":1,"final_bit_count":2,"undergone_growth_steps":1,"nr_merges":1,"got_valid_in_timestep":0,"size_history":[0,2]},"0":{"active":0,"final_bit_count":1,"undergone_growth_steps":1,"nr_merges":0,"got_valid_in_timestep":-1,"size_history":[0,1]}},"global_timestep_bit_history":{"0":{"1":[1,0],"0":[0]}}}

Is there a way of telling when the cluster becomes inactive (ie., when it is merged into another cluster). Can we save wich cluster it is merged into? I think this could be done by adding two extra members: bool absorbed and int absorbed_into_cluster

The output looks good, should be valid json as well. Will include that.