Clean up BN, Factor

release/4.3a0
p-zach 2025-04-15 14:01:36 -04:00
parent 45dec16225
commit 7e912c5cdd
2 changed files with 34 additions and 17 deletions

View File

@ -57,7 +57,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 8, "execution_count": 13,
"metadata": { "metadata": {
"id": "bayesnet_import_code" "id": "bayesnet_import_code"
}, },
@ -88,7 +88,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 9, "execution_count": 14,
"metadata": { "metadata": {
"colab": { "colab": {
"base_uri": "https://localhost:8080/" "base_uri": "https://localhost:8080/"
@ -127,7 +127,30 @@
"\t1\n", "\t1\n",
"]\n", "]\n",
" b = [ 0 ]\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", "\n",
"Resulting BayesNet:\n", "Resulting BayesNet:\n",
"\n", "\n",
@ -155,15 +178,6 @@
} }
], ],
"source": [ "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", "# Eliminate sequentially using a specific ordering\n",
"ordering = Ordering([X(0), X(1), X(2)])\n", "ordering = Ordering([X(0), X(1), X(2)])\n",
"bayes_net = graph.eliminateSequential(ordering)\n", "bayes_net = graph.eliminateSequential(ordering)\n",

View File

@ -56,7 +56,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 7, "execution_count": 1,
"metadata": { "metadata": {
"id": "factor_import_code" "id": "factor_import_code"
}, },
@ -85,7 +85,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 8, "execution_count": 2,
"metadata": { "metadata": {
"colab": { "colab": {
"base_uri": "https://localhost:8080/" "base_uri": "https://localhost:8080/"
@ -102,7 +102,10 @@
"Prior factor size: 1\n", "Prior factor size: 1\n",
"Between factor keys: [8646911284551352320, 8646911284551352321] (x0, x1)\n", "Between factor keys: [8646911284551352320, 8646911284551352321] (x0, x1)\n",
"Between factor size: 2\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", "print(f\"Is prior factor empty? {prior_factor.empty()}\")\n",
"\n", "\n",
"# Factors can be printed\n", "# Factors can be printed\n",
"# prior_factor.print(\"Prior Factor: \")" "prior_factor.print(\"Prior Factor: \")"
] ]
}, },
{ {
@ -141,7 +144,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 9, "execution_count": 3,
"metadata": { "metadata": {
"colab": { "colab": {
"base_uri": "https://localhost:8080/" "base_uri": "https://localhost:8080/"