Source code for qkdsec.proofs.channels.base
from abc import ABC, abstractmethod
[docs]
class Channel(ABC):
[docs]
@abstractmethod
def expectations(self) -> dict[str, float]:
...
[docs]
def single_photon_yield(self) -> float:
return 1.0
[docs]
def total_yield(self) -> float:
return self.single_photon_yield()
[docs]
def total_qber(self) -> float:
zz = self.expectations()["ZZ"]
return (1.0 - zz) / 2.0