code: def sample_from_proposal(self, A: pd.DataFrame) -> None:
          
  
          # Choose the element of A to perturb
          self.source, self.target, self.edge_dict = random.choice(
              list(self.edges(data=True))
          )
          self.original_value = A[f"∂({self.source})/∂t"][self.target]
          A[f"∂({self.source})/∂t"][self.target] += np.random.normal(scale=0.001)
docs: Sample a new transition matrix from the proposal distribution,
          given a current candidate transition matrix. In practice, this amounts
          to the in-place perturbation of an element of the transition matrix
          currently being used by the sampler.
  
          Args