dfg_utils.py
Go to the documentation of this file.
1 import numpy as np
2 from gtsam import Symbol
3 
4 
5 def make_key(character, index, cardinality):
6  """
7  Helper function to mimic the behavior of gtbook.Variables discrete_series function.
8  """
9  symbol = Symbol(character, index)
10  key = symbol.key()
11  return (key, cardinality)
12 
13 
14 def generate_transition_cpt(num_states, transitions=None):
15  """
16  Generate a row-wise CPT for a transition matrix.
17  """
18  if transitions is None:
19  # Default to identity matrix with slight regularization
20  transitions = np.eye(num_states) + 0.1 / num_states
21 
22  # Ensure transitions sum to 1 if not already normalized
23  transitions /= np.sum(transitions, axis=1, keepdims=True)
24  return " ".join(["/".join(map(str, row)) for row in transitions])
25 
26 
27 def generate_observation_cpt(num_states, num_obs, desired_state):
28  """
29  Generate a row-wise CPT for observations with contrived probabilities.
30  """
31  obs = np.zeros((num_states, num_obs + 1))
32  obs[:, -1] = 1 # All states default to measurement num_obs
33  obs[desired_state, 0:-1] = 1
34  obs[desired_state, -1] = 0
35  return " ".join(["/".join(map(str, row)) for row in obs])
dfg_utils.generate_observation_cpt
def generate_observation_cpt(num_states, num_obs, desired_state)
Definition: dfg_utils.py:27
dfg_utils.generate_transition_cpt
def generate_transition_cpt(num_states, transitions=None)
Definition: dfg_utils.py:14
dfg_utils.make_key
def make_key(character, index, cardinality)
Definition: dfg_utils.py:5
gtsam::Symbol
Definition: inference/Symbol.h:37


gtsam
Author(s):
autogenerated on Wed Mar 19 2025 03:01:35