From 7e912c5cdd371ebdb153ac591760138ed4051626 Mon Sep 17 00:00:00 2001 From: p-zach Date: Tue, 15 Apr 2025 14:01:36 -0400 Subject: [PATCH] Clean up BN, Factor --- gtsam/inference/doc/BayesNet.ipynb | 38 ++++++++++++++++++++---------- gtsam/inference/doc/Factor.ipynb | 13 ++++++---- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/gtsam/inference/doc/BayesNet.ipynb b/gtsam/inference/doc/BayesNet.ipynb index 7a0964f73..db64eda3d 100644 --- a/gtsam/inference/doc/BayesNet.ipynb +++ b/gtsam/inference/doc/BayesNet.ipynb @@ -57,7 +57,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 13, "metadata": { "id": "bayesnet_import_code" }, @@ -88,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -127,7 +127,30 @@ "\t1\n", "]\n", " b = [ 0 ]\n", - " Noise model: unit (1) \n", + " Noise model: unit (1) \n" + ] + } + ], + "source": [ + "# Create a simple Gaussian Factor Graph P(x0) P(x1|x0) P(x2|x1)\n", + "graph = GaussianFactorGraph()\n", + "model = gtsam.noiseModel.Isotropic.Sigma(1, 1.0)\n", + "graph.add(X(0), -np.eye(1), np.zeros(1), model)\n", + "graph.add(X(0), -np.eye(1), X(1), np.eye(1), np.zeros(1), model)\n", + "graph.add(X(1), -np.eye(1), X(2), np.eye(1), np.zeros(1), model)\n", + "print(\"Original Factor Graph:\")\n", + "graph.print()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ "\n", "Resulting BayesNet:\n", "\n", @@ -155,15 +178,6 @@ } ], "source": [ - "# Create a simple Gaussian Factor Graph P(x0) P(x1|x0) P(x2|x1)\n", - "graph = GaussianFactorGraph()\n", - "model = gtsam.noiseModel.Isotropic.Sigma(1, 1.0)\n", - "graph.add(X(0), -np.eye(1), np.zeros(1), model)\n", - "graph.add(X(0), -np.eye(1), X(1), np.eye(1), np.zeros(1), model)\n", - "graph.add(X(1), -np.eye(1), X(2), np.eye(1), np.zeros(1), model)\n", - "print(\"Original Factor Graph:\")\n", - "graph.print()\n", - "\n", "# Eliminate sequentially using a specific ordering\n", "ordering = Ordering([X(0), X(1), X(2)])\n", "bayes_net = graph.eliminateSequential(ordering)\n", diff --git a/gtsam/inference/doc/Factor.ipynb b/gtsam/inference/doc/Factor.ipynb index 40a53193d..6e6ce1515 100644 --- a/gtsam/inference/doc/Factor.ipynb +++ b/gtsam/inference/doc/Factor.ipynb @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 1, "metadata": { "id": "factor_import_code" }, @@ -85,7 +85,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/" @@ -102,7 +102,10 @@ "Prior factor size: 1\n", "Between factor keys: [8646911284551352320, 8646911284551352321] (x0, x1)\n", "Between factor size: 2\n", - "Is prior factor empty? False\n" + "Is prior factor empty? False\n", + "Prior Factor: PriorFactor on x0\n", + " prior mean: (0, 0, 0)\n", + " noise model: diagonal sigmas [0.1; 0.1; 0.05];\n" ] } ], @@ -125,7 +128,7 @@ "print(f\"Is prior factor empty? {prior_factor.empty()}\")\n", "\n", "# Factors can be printed\n", - "# prior_factor.print(\"Prior Factor: \")" + "prior_factor.print(\"Prior Factor: \")" ] }, { @@ -141,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/"