Skip to content

Instantly share code, notes, and snippets.

@avivajpeyi
Last active February 23, 2024 00:02
Show Gist options
  • Save avivajpeyi/76f1d691061f027a2d2fde87b291208e to your computer and use it in GitHub Desktop.
Save avivajpeyi/76f1d691061f027a2d2fde87b291208e to your computer and use it in GitHub Desktop.
fi_lartillot_simulation_gpu_nsamp.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"gpuType": "T4",
"authorship_tag": "ABX9TyNmEkZT0Y+UhPtOzKD4F/GW",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
},
"accelerator": "GPU",
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"0c376a14cb8e4cd2beae4c66b447125c": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1852ef58deed44de910e962e74cd621f",
"IPY_MODEL_40b662a573654393b878acddb27af15f",
"IPY_MODEL_b817dce7e384449d840b67580850437a"
],
"layout": "IPY_MODEL_28c13e08704649589fa2893c2c0b2211"
}
},
"1852ef58deed44de910e962e74cd621f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_d0b170dcc92143b59872cd22797ec884",
"placeholder": "​",
"style": "IPY_MODEL_8b9e301e92a54c43af595cfb38ea0981",
"value": "100%"
}
},
"40b662a573654393b878acddb27af15f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_a30078c3f8074d2d851eb1f840bb2f24",
"max": 2,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_6e2ccc563b49417abeddaaaccb133c04",
"value": 2
}
},
"b817dce7e384449d840b67580850437a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_e758fe1f13d646328a2fe20bbe6c74c7",
"placeholder": "​",
"style": "IPY_MODEL_c55101e90ec04c5eb22cbf57f38317bc",
"value": " 2/2 [07:17<00:00, 241.96s/it]"
}
},
"28c13e08704649589fa2893c2c0b2211": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d0b170dcc92143b59872cd22797ec884": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8b9e301e92a54c43af595cfb38ea0981": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"a30078c3f8074d2d851eb1f840bb2f24": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"6e2ccc563b49417abeddaaaccb133c04": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"e758fe1f13d646328a2fe20bbe6c74c7": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c55101e90ec04c5eb22cbf57f38317bc": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"dd97731bbc8f410e89551a5001755e66": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_5760490b78864e5fb527e70ea3c8d8be",
"IPY_MODEL_7a49848462de4386af15d4475ef6f8ff",
"IPY_MODEL_afdf9083e8704d4ebd450126b1cf241d"
],
"layout": "IPY_MODEL_adb5325d083d476f86ba162bb46e2533"
}
},
"5760490b78864e5fb527e70ea3c8d8be": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_b4a8ed7902c943ae8e7e61797d278bf0",
"placeholder": "​",
"style": "IPY_MODEL_56abaf52e4c74309a527a0919860a15b",
"value": "100%"
}
},
"7a49848462de4386af15d4475ef6f8ff": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_f054fe7537984ceabd49eccfc0d0e029",
"max": 100,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_85e0c11adb7a49baae3b1d0f96c3eb3b",
"value": 100
}
},
"afdf9083e8704d4ebd450126b1cf241d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_b53849ef42b04c039eb2be7a9f86a254",
"placeholder": "​",
"style": "IPY_MODEL_55865cdf17364203a7bcd88a795e8bba",
"value": " 100/100 [01:26<00:00,  1.64s/it]"
}
},
"adb5325d083d476f86ba162bb46e2533": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b4a8ed7902c943ae8e7e61797d278bf0": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"56abaf52e4c74309a527a0919860a15b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"f054fe7537984ceabd49eccfc0d0e029": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"85e0c11adb7a49baae3b1d0f96c3eb3b": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"b53849ef42b04c039eb2be7a9f86a254": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"55865cdf17364203a7bcd88a795e8bba": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"82fe5383fbb745ab82cd240da9f984da": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_1bb3e17edfa1439a9ab56e23974dc26d",
"IPY_MODEL_bc4141163d794995b3a8f4e2e195f23d",
"IPY_MODEL_ebab3cc5166f4253a5c0bfaa4833bfe5"
],
"layout": "IPY_MODEL_4603cc5b1e5547dfab6c747ffbc3be6f"
}
},
"1bb3e17edfa1439a9ab56e23974dc26d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_31a3f52bbf394536944e335256be3b19",
"placeholder": "​",
"style": "IPY_MODEL_4dc5ec35136c4af9bfd9d22e86bff896",
"value": "100%"
}
},
"bc4141163d794995b3a8f4e2e195f23d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_0a3b6fb3240947829ca122155b4b57e2",
"max": 100,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_f95b063aaf56472e8ef0a22cab37bdcd",
"value": 100
}
},
"ebab3cc5166f4253a5c0bfaa4833bfe5": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_845464596d0048c6b8665d3af3c6616b",
"placeholder": "​",
"style": "IPY_MODEL_4e21a29640374cd39f13b9e8676f50b6",
"value": " 100/100 [05:50<00:00,  6.77s/it]"
}
},
"4603cc5b1e5547dfab6c747ffbc3be6f": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"31a3f52bbf394536944e335256be3b19": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4dc5ec35136c4af9bfd9d22e86bff896": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"0a3b6fb3240947829ca122155b4b57e2": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"f95b063aaf56472e8ef0a22cab37bdcd": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"845464596d0048c6b8665d3af3c6616b": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4e21a29640374cd39f13b9e8676f50b6": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"eff9cb2f15214097a69cc882ba43099e": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_94984e3ca4324576a726ea114a8d147a",
"IPY_MODEL_e65b080bacda497683b56e8420cf5297",
"IPY_MODEL_da08eef4abde421295f75f6202918651"
],
"layout": "IPY_MODEL_a68a4a5b229e4a8295a1ee8c7c75eb59"
}
},
"94984e3ca4324576a726ea114a8d147a": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_56ee66210f0a47d2ac8de0db730ac53d",
"placeholder": "​",
"style": "IPY_MODEL_8dfbac71230c4a7dbe16464258a468ad",
"value": "100%"
}
},
"e65b080bacda497683b56e8420cf5297": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_64173a3e3e8443d1948d52f5e5fdfa14",
"max": 100,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_d0bfbc1fd67e433fbe5bd8a9439fcee9",
"value": 100
}
},
"da08eef4abde421295f75f6202918651": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_cd593a1538a1423085def8a6e3589208",
"placeholder": "​",
"style": "IPY_MODEL_0eec09a27e6a4939bdc3440201398ab7",
"value": " 100/100 [01:15<00:00,  1.44it/s]"
}
},
"a68a4a5b229e4a8295a1ee8c7c75eb59": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"56ee66210f0a47d2ac8de0db730ac53d": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8dfbac71230c4a7dbe16464258a468ad": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"64173a3e3e8443d1948d52f5e5fdfa14": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d0bfbc1fd67e433fbe5bd8a9439fcee9": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"cd593a1538a1423085def8a6e3589208": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0eec09a27e6a4939bdc3440201398ab7": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"183d021c53f94aeaa4f396c9b510bb70": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HBoxModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_70211a1050574dfbbf308277973a2924",
"IPY_MODEL_503c4d1aa8d84c08b33901a073dbbce3",
"IPY_MODEL_96580848d54740cf949c5194d34297a4"
],
"layout": "IPY_MODEL_da8de259d7a84c24b602598f17b00284"
}
},
"70211a1050574dfbbf308277973a2924": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_2b23a31e61e44ea5bcd400a5c0d88a0d",
"placeholder": "​",
"style": "IPY_MODEL_22922b1a7d58436093ca6cd5e52348aa",
"value": "100%"
}
},
"503c4d1aa8d84c08b33901a073dbbce3": {
"model_module": "@jupyter-widgets/controls",
"model_name": "FloatProgressModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_a675ca82be0344a88195083046d36058",
"max": 100,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_815ec21bf0aa433bb5dbeed91dd7022f",
"value": 100
}
},
"96580848d54740cf949c5194d34297a4": {
"model_module": "@jupyter-widgets/controls",
"model_name": "HTMLModel",
"model_module_version": "1.5.0",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_155a42a8e2244189b86299ed825e947f",
"placeholder": "​",
"style": "IPY_MODEL_4fd1de8c7ac24088986a5de137fb488d",
"value": " 100/100 [12:04<00:00,  7.19s/it]"
}
},
"da8de259d7a84c24b602598f17b00284": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"2b23a31e61e44ea5bcd400a5c0d88a0d": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"22922b1a7d58436093ca6cd5e52348aa": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"a675ca82be0344a88195083046d36058": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"815ec21bf0aa433bb5dbeed91dd7022f": {
"model_module": "@jupyter-widgets/controls",
"model_name": "ProgressStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"155a42a8e2244189b86299ed825e947f": {
"model_module": "@jupyter-widgets/base",
"model_name": "LayoutModel",
"model_module_version": "1.2.0",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"4fd1de8c7ac24088986a5de137fb488d": {
"model_module": "@jupyter-widgets/controls",
"model_name": "DescriptionStyleModel",
"model_module_version": "1.5.0",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
}
}
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/avivajpeyi/76f1d691061f027a2d2fde87b291208e/fi_lartillot_simulation_gpu_nsamp.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"# FI Lartillot Simulation"
],
"metadata": {
"id": "cBK95jimnZtf"
}
},
{
"cell_type": "code",
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from tqdm.auto import tqdm, trange\n",
"import matplotlib.pyplot as plt\n",
"import jax\n",
"import jax.numpy as jnp\n",
"from jax import random\n",
"from jax.scipy.stats import norm\n",
"from jax.scipy.special import logsumexp\n",
"from jax.numpy import prod, sum, sin, nansum, nanprod, power, log, exp, sqrt\n",
"from jax import jit\n",
"import os\n",
"import jax\n",
"from jax import config\n",
"\n",
"config.update(\"jax_enable_x64\", True)\n",
"\n",
"OUTDIR = 'out_simulation'\n",
"if not os.path.exists(OUTDIR):\n",
" os.makedirs(OUTDIR)\n",
"\n",
"PI = jnp.pi\n",
"\n",
"\n",
"@jit\n",
"def ln_fi_post(θstar, θ, r):\n",
" n, d = θ.shape\n",
" assert θstar.shape == (1,d)\n",
" integrand = sin(r * (θstar-θ) ) / (θstar-θ)\n",
" sum_prod_integrand = nansum(nanprod(integrand, axis=1))\n",
" return log(sum_prod_integrand / (n * power(PI, d)))\n",
"\n",
"\n",
"@jit\n",
"def ln_fi_z(θstar, θ, d=1, v=1, r=100):\n",
" return ln_likelihood(θstar, v=v) + ln_prior(θstar) - ln_fi_post(θstar, θ, r=r)\n",
"\n",
"\n",
"@jit\n",
"def get_err(θstar, θ, d=1, v=1, r=100):\n",
" return ln_fi_z(θstar, θ, d=d, v=v, r=r) - ln_true_z(d=d, v=v)\n",
"\n",
"\n",
"@jit\n",
"def ln_true_z(d, v=1):\n",
" return log(power(2.*PI * (1+v), -d/2.))\n",
"\n",
"@jit\n",
"def ln_true_post(θ, v=1):\n",
" return sum(norm.logpdf(θ, loc=0, scale=jnp.sqrt(v/(v+1))))\n",
"\n",
"@jit\n",
"def ln_likelihood(θ, v=1):\n",
" n, d = θ.shape\n",
" return log(\n",
" power(2.*PI*v, -d/2) * nanprod(exp(-power(θ,2) / (2 * v)))\n",
" )\n",
"\n",
"@jit\n",
"def ln_prior(θ):\n",
" return log(\n",
" prod(norm.pdf(θ, loc=0, scale=1))\n",
" )\n",
"\n",
"def sample_θ(d:int=1, v:float=1, nsamples:int=int(1e6)):\n",
" return np.random.normal(loc=0, scale=np.sqrt(v/(v+1)), size=(nsamples,d))\n",
"\n",
"def error_vs_ns(d=1,v=1, r=100, num_runs=10):\n",
" ns = np.linspace(500, int(2e7), num_runs, dtype=int)\n",
" err = np.zeros(num_runs)\n",
" θstar = jnp.zeros((1,d))\n",
" for i in trange(num_runs):\n",
" err[i] = get_err(\n",
" θstar=θstar,\n",
" θ = sample_θ(d=d, v=v, nsamples=ns[i]),\n",
" d=d, v=v, r=r\n",
" )\n",
"\n",
" return ns, err\n",
"\n",
"\n",
"def test_lnl_lnpri_functions(d, v):\n",
" θstar = jnp.zeros((1,d))\n",
"\n",
" lnl = ln_likelihood(θstar, v=v)\n",
" lnpri = ln_prior(θstar)\n",
" lnpost = ln_true_post(θstar, v=v)\n",
" lnz = lnl+lnpri-lnpost\n",
" truelnz = ln_true_z(d, v=v)\n",
" print(f\"lnl={lnl}\")\n",
" print(f\"lnpri={lnpri}\")\n",
" print(f\"lnpost={lnpost}\")\n",
" print(f'lnz={lnz}')\n",
" assert lnz == truelnz, ('LnZ using analytical ln-posterior doenst matches the analytical ln_z!!')\n",
"\n",
"def test_posterior_samples(d,v, n =int(1e5)):\n",
" θ = sample_θ(d, v, nsamples=n)\n",
" assert θ.shape == (n,d), f\"θ.shape ={θ.shape} !={(n,d)}\"\n",
" expected_std = np.sqrt(v / (v + 1))\n",
" obs_std = np.std(θ, axis=0)\n",
" assert obs_std.shape == (d,), f\"obs_std.shape={obs_std.shape}\"\n",
" check = jnp.all(jnp.isclose(expected_std, obs_std, atol=0.005))\n",
" assert check, f\"expected_std ! = std(θ) => {expected_std:.3f}, {obs_std}\"\n",
" θ1 = sample_θ(d=2, v=1, nsamples=4)\n",
" θ2 = sample_θ(d=2, v=1, nsamples=4)\n",
" assert np.sum(θ1-θ2) != 0, 'samples not unique!'\n",
"\n",
"\n",
"d, v = 20, 2\n",
"test_posterior_samples(d, v)\n",
"test_lnl_lnpri_functions(d,v)\n",
"\n",
"\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "3Oz2AL0wQZtI",
"outputId": "f476c14c-f390-4ded-8b38-8eddefd134f2"
},
"execution_count": 114,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"lnl=-25.31024246969291\n",
"lnpri=-18.37877066409345\n",
"lnpost=-14.324119583011809\n",
"lnz=-29.364893550774553\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"\n",
"def run_sims(ndims=[1, 5]):\n",
" data = {}\n",
" v= 1\n",
" for d in tqdm(ndims):\n",
" data['ns'], data[f'd{d}'] = error_vs_ns(d=d, v=v, num_runs=100)\n",
" df = pd.DataFrame(data)\n",
" df=df.set_index('ns')\n",
"\n",
" df.to_csv('errors.csv')\n",
" plot_results(df)\n",
" return df\n",
"\n",
"\n",
"def plot_results(df):\n",
" for col in df.columns:\n",
" plt.figure(figsize=(5, 1.5))\n",
" plt.axhline(0, color='k')\n",
" plt.scatter(df.index, df[col], label=col)\n",
" plt.xlabel('N Samples')\n",
" plt.ylabel(\"LnZ Error\")\n",
" plt.legend()\n",
"\n",
"df = run_sims()\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 469,
"referenced_widgets": [
"0c376a14cb8e4cd2beae4c66b447125c",
"1852ef58deed44de910e962e74cd621f",
"40b662a573654393b878acddb27af15f",
"b817dce7e384449d840b67580850437a",
"28c13e08704649589fa2893c2c0b2211",
"d0b170dcc92143b59872cd22797ec884",
"8b9e301e92a54c43af595cfb38ea0981",
"a30078c3f8074d2d851eb1f840bb2f24",
"6e2ccc563b49417abeddaaaccb133c04",
"e758fe1f13d646328a2fe20bbe6c74c7",
"c55101e90ec04c5eb22cbf57f38317bc",
"dd97731bbc8f410e89551a5001755e66",
"5760490b78864e5fb527e70ea3c8d8be",
"7a49848462de4386af15d4475ef6f8ff",
"afdf9083e8704d4ebd450126b1cf241d",
"adb5325d083d476f86ba162bb46e2533",
"b4a8ed7902c943ae8e7e61797d278bf0",
"56abaf52e4c74309a527a0919860a15b",
"f054fe7537984ceabd49eccfc0d0e029",
"85e0c11adb7a49baae3b1d0f96c3eb3b",
"b53849ef42b04c039eb2be7a9f86a254",
"55865cdf17364203a7bcd88a795e8bba",
"82fe5383fbb745ab82cd240da9f984da",
"1bb3e17edfa1439a9ab56e23974dc26d",
"bc4141163d794995b3a8f4e2e195f23d",
"ebab3cc5166f4253a5c0bfaa4833bfe5",
"4603cc5b1e5547dfab6c747ffbc3be6f",
"31a3f52bbf394536944e335256be3b19",
"4dc5ec35136c4af9bfd9d22e86bff896",
"0a3b6fb3240947829ca122155b4b57e2",
"f95b063aaf56472e8ef0a22cab37bdcd",
"845464596d0048c6b8665d3af3c6616b",
"4e21a29640374cd39f13b9e8676f50b6"
]
},
"id": "g9XAmG-3c-br",
"outputId": "80590849-cc33-4b07-f3e2-70dddb070f89"
},
"execution_count": 128,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
" 0%| | 0/2 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "0c376a14cb8e4cd2beae4c66b447125c"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
" 0%| | 0/100 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "dd97731bbc8f410e89551a5001755e66"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
" 0%| | 0/100 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "82fe5383fbb745ab82cd240da9f984da"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 500x150 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 500x150 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"def hist_ln_fis_at_r(d, v, num_expts, num_samp):\n",
" lnzs = np.zeros(num_expts)\n",
" θstar = jnp.zeros((1,d))\n",
" for i in trange(num_expts):\n",
" lnzs[i]= ln_fi_z(\n",
" θ = sample_θ(d, v, nsamples=num_samp),\n",
" θstar=θstar,\n",
" d=d, v=v, r=100\n",
" )\n",
" return lnzs, ln_true_z(d=d,v=v)\n",
"\n",
"def plot_hist(lnzs, trulnz, label, color='C0'):\n",
" plt.hist(lnzs, label=label, alpha=0.3, color=color)\n",
" plt.axvline(trulnz, color='k')\n",
" plt.xlabel(\"LnZ\")\n",
"\n",
"# lnzs, trulz = hist_ln_fis_at_r(d=1,v=1, num_expts=100, num_samp=int(1e5))\n",
"# plot_hist(lnzs, trulz)\n"
],
"metadata": {
"id": "I7mhzvHi_Q3b"
},
"execution_count": 126,
"outputs": []
},
{
"cell_type": "code",
"source": [
"lnzs_1e5, trulz = hist_ln_fis_at_r(d=5,v=0.01, num_expts=100, num_samp=int(1e5))\n",
"lnzs_1e6, trulz = hist_ln_fis_at_r(d=5,v=0.01, num_expts=100, num_samp=int(1e6))"
],
"metadata": {
"id": "9GHRMcnSHRu-"
},
"execution_count": 129,
"outputs": []
},
{
"cell_type": "code",
"source": [
"plot_hist(lnzs_1e5, trulz, label=\"n=1e5\", color='C0')\n",
"plot_hist(lnzs_1e6, trulz, label=\"n=1e6\", color='C1')\n",
"plt.title(f\"d=5, v=0.01, nRep=100\")\n",
"plt.legend()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 490
},
"id": "SaygbXigKAwX",
"outputId": "241a1074-3cc6-4183-8e3f-2e0e099f80fc"
},
"execution_count": 127,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7d9f9d7ad360>"
]
},
"metadata": {},
"execution_count": 127
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAHHCAYAAAAf2DoOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzGElEQVR4nO3de1wV9b7/8fcC5SaCgXJT8J7lhUgzw25oFmK5MzWt3T5px7wU5lYqlW6IVtr9thVrV1rn5Km0sssu3WVKtkMqd2hlUZqliYBKAqKAwvz+6OfargBlweK7WPh6Ph7zeDDf+c7MZ81aypuZ78yyWZZlCQAAwBAvdxcAAABOL4QPAABgFOEDAAAYRfgAAABGET4AAIBRhA8AAGAU4QMAABhF+AAAAEYRPgAAgFGED5yW5s2bJ5vN5u4yAOC0RPgAGqlLly6y2Ww1pmnTprm7tJN64YUXdPbZZ8vPz089e/bUM888U+91KyoqNGfOHEVFRcnf31+DBg3Shx9+WKPfP//5T02aNEl9+/aVt7e3unTp4sJXcHI///yzw/vh5eWlkJAQJSUlKSsry1gdzsrNzdWsWbM0ePBg+fn5yWaz6eeff66z/zvvvKP+/fvLz89PMTExSktL07Fjx2r0O3jwoKZMmaIOHTqoTZs2GjJkiP7973834SsB6tbK3QUALUFcXJxuv/12h7YzzzzTTdWc2rPPPqtp06ZpzJgxSklJ0caNGzVjxgwdPnxYc+bMOeX6EydO1KpVqzRz5kz17NlTy5cv14gRI7R+/XpddNFF9n4rVqzQa6+9pv79+ysqKqopX1Kdrr/+eo0YMUJVVVX64YcftGTJEg0ZMkRffPGF+vXr55aaTiYrK0tPP/20evfurbPPPls5OTl19v3ggw80atQoJSQk6JlnntHXX3+t+++/X4WFhcrIyLD3q66u1pVXXqktW7bozjvvVPv27bVkyRIlJCRo8+bN6tmzp4FXBpzAAk5DaWlplqs+/p07d7auvPJKl2zLhMOHD1uhoaE1ar7hhhusNm3aWEVFRSddPzs725JkPfLII/a2I0eOWN27d7fi4+Md+u7Zs8eqrKy0LMuyrrzySqtz586ueRH1sHPnzhp1WpZlffDBB5Yk65ZbbjFWizMOHDhglZSUWJZlWY888oglydq5c2etfXv37m2dc8451tGjR+1td999t2Wz2azvvvvO3vbaa69ZkqyVK1fa2woLC6127dpZ119/fdO8EOAkuOyCFu/TTz/VwIED5efnp+7du+vZZ59tkv1UVlaqrKys0dvp27evhgwZUqO9urpaHTt21NixYxu1/fXr1+vAgQO69dZbHdqTk5NVVlamf/zjHyddf9WqVfL29taUKVPsbX5+fpo0aZKysrK0e/due3tUVJRat27dqHr/KCEhQX379tW2bds0ZMgQBQQEqGPHjnr44Yfrtf7FF18sSdqxY4dD+8GDBzVz5kxFR0fL19dXPXr00EMPPaTq6mp7n+OXch599FE98cQT6ty5s/z9/XXppZfqm2++ccnrCwkJUdu2bU/Zb9u2bdq2bZumTJmiVq3+cxL71ltvlWVZWrVqlb1t1apVCg8P1+jRo+1tHTp00Lhx4/T222+roqLCJbUD9cVlF7RoX3/9ta644gp16NBB8+bN07Fjx5SWlqbw8PAafYuLi3X06NFTbtPPz0+BgYEObR9//LECAgJUVVWlzp07a9asWfrrX//aoJrHjx+vefPmKT8/XxEREfb2Tz/9VHl5ebruuuvsbb/99puqqqpOuc2AgAAFBARIkr766itJ0nnnnefQZ8CAAfLy8tJXX32lv/zlL3Vu66uvvtKZZ56poKAgh/bzzz9fkpSTk6Po6OhT1tQYv/32m4YPH67Ro0dr3LhxWrVqlebMmaN+/fopKSnppOseHz9xxhln2NsOHz6sSy+9VHv27NHUqVMVExOjzz77TKmpqdq7d6+efPJJh228/PLLKi0tVXJyssrLy/XUU09p6NCh+vrrr+2frYqKCpWWltbr9bRv377+L/7/q+t9jIqKUqdOnezLj/ft37+/vLwc/948//zz9dxzz+mHH35olpeg0IK5+9QL0JRGjRpl+fn5Wb/88ou9bdu2bZa3t3eNyy6XXnqpJemU04QJExzWGzlypPXQQw9Zq1evtl544QXr4osvtiRZs2fPblDNubm5liTrmWeecWi/9dZbrcDAQOvw4cP2ts6dO9er5rS0NPs6ycnJlre3d6377tChg3XdddedtL4+ffpYQ4cOrdH+7bffWpKspUuX1rqeqy67HH+fXn75ZXtbRUWFFRERYY0ZM8bedvyyS3p6urVv3z4rPz/f2rhxozVw4MAalyAWLFhgtWnTxvrhhx8c9jV37lzL29vb2rVrl8M2/f39rV9//dXe7/ilqFmzZtnbli1bVq/35mT/DZ/sssvxZcdrO9HAgQOtCy64wD7fpk0b67//+79r9PvHP/5hSbLWrFlTZw1AU+DMB1qsqqoqrV27VqNGjVJMTIy9/eyzz1ZiYqLef/99h/6PPfaYfvvtt1Nu948DJ9955x2H+ZtuuklJSUl6/PHHddttt6lTp05O1X3mmWcqLi5Or732mqZPn25/LatWrdLIkSPl7+9v7/vKK6/oyJEjp9xmt27d7D8fOXJEPj4+tfbz8/M75faOHDkiX1/fWtc9vrypBQYGOpyd8fHx0fnnn6+ffvqpRt+0tDSlpaU5rPvYY485XL5auXKlLr74Yp1xxhnav3+/vX3YsGFatGiRPvnkE91www329lGjRqljx472+fPPP1+DBg3S+++/r8cff1ySlJiYWOsdQK5y/DjX9V6UlJQ49HX3ewaciPCBFmvfvn06cuRIrSP5e/XqVSN8DBgwwCX7tdlsmjVrltauXasNGzac9BJGXcaPH6+77rpLe/bsUceOHbVhwwYVFhZq/PjxDv0uvPBCp7ft7++vysrKWpeVl5c7hJu61q9tjEB5ebl9eVPr1KlTjee0nHHGGdq6dWuNvlOmTNG1116r8vJyffzxx3r66adrXKr68ccftXXrVnXo0KHW/RUWFjrM1/aZOvPMM/X666/b5yMjIxUZGVnv1+Ss48e5rvfixPehObxnwIkIH8D/V1RUVOcv5RP5+/srODj4pH2Oj3koKipqUC3jx49XamqqVq5cqZkzZ+r1119XcHCwhg8f7tBv37599RrzERgYaB+nEhkZqaqqKhUWFiosLMzep7KyUgcOHDjlLbGRkZHas2dPjfa9e/dKqnlmqCl4e3vX2m5ZVo22nj17atiwYZKkq666St7e3po7d66GDBliHy9RXV2tyy+/XLNnz651uw25bfrIkSMqLi6uV98Tx/bU1/Fgs3fv3hpjbPbu3Wsfg3O87/H354/9JDPvGXAiwgdarA4dOsjf318//vhjjWW5ubk12kaPHq3MzMxTbnfChAlavnz5SfscP/1f11/Sp9K1a1edf/759ksvb775pkaNGlXj1PnAgQP1yy+/nHJ7aWlpmjdvnqTfn0kiSV9++aVGjBhh7/Pll1+qurravrwucXFxWr9+vUpKShwGnWZnZztsv7m6++679fe//1333HOP1qxZI0nq3r27Dh06ZA8pp1LbZ+qHH35weIjaa6+9pptuuqle26stNJ3Kie/jiUEjLy9Pv/76q8PdSHFxcdq4caOqq6sdBp1mZ2crICCgWT+TBi0T4QMtlre3txITE7V69Wrt2rXLPu7ju+++09q1a2v0b8iYj6KiIgUHBzv8JX706FEtWrRIPj4+td4yW1/jx4/X7bffrhdffFH79++vcclFatiYj6FDhyokJEQZGRkO4SMjI0MBAQG68sor7W379+/X/v37FRMTY79bZuzYsXr00Uf13HPP6Y477pD0+6n/ZcuWadCgQU1+p0tjtWvXTlOnTtXDDz+snJwcxcXFady4cZo3b57Wrl2rxMREh/4HDx5UYGCgw+2sq1evtl8Sk6TPP/9c2dnZmjlzpr1PU4/56NOnj8466yw999xzmjp1qv0zmJGRIZvN5jCmZezYsVq1apXefPNNe/v+/fu1cuVKjRw5stbxIECTcveIV6ApbdmyxfLz87NiYmKsRYsWWffff78VHh5uxcbGuuQhY8uWLbO6d+9uzZkzx1q6dKn14IMPWn379rUkWQ8++KBD3+N3Svzxbpm67N6927LZbFbbtm2tkJAQ+8O6XGHx4sWWJGvs2LHW3//+d+vGG2+0JFkPPPCAQ7/jD2Nbv369Q/u1115rtWrVyrrzzjutZ5991ho8eLDVqlUrKzMz06Hfli1brAULFlgLFiywevXqZbVr184+/8477zj07dy5c73uhrn00kutPn361GifMGGCw/p1PWTMsn5/+JmPj481fvx4y7Isq6yszOrfv7/VqlUr6+abb7YyMjKsRx991JowYYLVpk0ba9++fQ7b7Nevn9WlSxfroYcesubPn2+FhIRYoaGhVl5e3inrP5WDBw/aj9Hw4cMtSdbtt99uLViwoMYdUO+++65ls9msoUOHWs8995w1Y8YMy8vLy5o8ebJDv2PHjlkXXHCBFRgYaKWnp1uLFy+2+vTpY7Vt29b6/vvvG10z4CzCB1q8zMxMa8CAAZaPj4/VrVs3a+nSpS57wumXX35pjRw50urYsaPl4+NjBQYGWhdddJH1+uuv1+j79ddfW5KsuXPn1nv7F154oSXJuvnmmxtd6x8999xzVq9evSwfHx+re/fu1hNPPGFVV1c79KkrfBw5csS64447rIiICMvX19caOHBgrbdrnux2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NTVVxcXF9mn37t3uLgkAADQhl4aPiIgISVJBQYFDe0FBgX3ZH/n6+iooKMhhAgAALZdLw0fXrl0VERGhdevW2dtKSkqUnZ2t+Ph4V+4KAAB4KKfvdjl06JC2b99un9+5c6dycnIUEhKimJgYzZw5U/fff7969uyprl276t5771VUVJRGjRrlyroBAICHcjp8fPnllxoyZIh9PiUlRZI0YcIELV++XLNnz1ZZWZmmTJmigwcP6qKLLtKaNWvk5+fnuqoBAIDHcjp8JCQkyLKsOpfbbDbNnz9f8+fPb1RhAACgZXL73S4AAOD0QvgAAABGET4AAIBRTo/5gOdrn/exu0twyqnq3R811FAlAABX4MwHAAAwivABAACMInwAAACjCB8AAMAowgcAADCK8AEAAIwifAAAAKMIHwAAwCjCBwAAMIonnMKtPO1pqwCAxuPMBwAAMIrwAQAAjCJ8AAAAowgfAADAKMIHAAAwivABAACMInwAAACjCB8AAMAowgcAADCK8AEAAIwifAAAAKMIHwAAwCjCBwAAMIrwAQAAjCJ8AAAAowgfAADAKMIHAAAwivABAACMInwAAACjCB8AAMAowgcAADCK8AEAAIwifAAAAKMIHwAAwCjCBwAAMMrl4WPevHmy2WwO01lnneXq3QAAAA/Vqik22qdPH3300Uf/2UmrJtkNAADwQE2SClq1aqWIiIim2DQAAPBwTTLm48cff1RUVJS6deumG264Qbt27aqzb0VFhUpKShwmAADQcrk8fAwaNEjLly/XmjVrlJGRoZ07d+riiy9WaWlprf0XLlyo4OBg+xQdHe3qkgAAQDPi8vCRlJSka6+9VrGxsUpMTNT777+vgwcP6vXXX6+1f2pqqoqLi+3T7t27XV0SAABoRpp8JGi7du105plnavv27bUu9/X1la+vb1OXAQAAmokmf87HoUOHtGPHDkVGRjb1rgAAgAdwefi44447lJmZqZ9//lmfffaZrrnmGnl7e+v666939a4AAIAHcvlll19//VXXX3+9Dhw4oA4dOuiiiy7Spk2b1KFDB1fvCgAAeCCXh49XX33V1ZsEAAAtCN/tAgAAjCJ8AAAAowgfAADAKMIHAAAwivABAACMInwAAACjCB8AAMAowgcAADCK8AEAAIwifAAAAKMIHwAAwCjCBwAAMIrwAQAAjCJ8AAAAo1q5uwAADffRtgJ3l+C0Yb3D3V0CADfjzAcAADCK8AEAAIwifAAAAKMIHwAAwCjCBwAAMIrwAQAAjCJ8AAAAowgfAADAKMIHAAAwiiectjDt8z52dwkAAJwUZz4AAIBRhA8AAGAU4QMAABhF+AAAAEYRPgAAgFGEDwAAYBThAwAAGEX4AAAARhE+AACAUTzhFB6vPk913R811Nh20PJ8tK3A3SU0yLDe4e4u4bTgiZ8Pd382OPMBAACMInwAAACjCB8AAMAowgcAADCqycLH4sWL1aVLF/n5+WnQoEH6/PPPm2pXAADAgzRJ+HjttdeUkpKitLQ0/fvf/9Y555yjxMREFRYWNsXuAACAB2mS8PH4449r8uTJuummm9S7d28tXbpUAQEBevHFF5tidwAAwIO4PHxUVlZq8+bNGjZs2H924uWlYcOGKSsry9W7AwAAHsblDxnbv3+/qqqqFB7u+ACT8PBwff/99zX6V1RUqKKiwj5fXFwsSSopKXF1aZKkskOlTbLd5sKv7LBb9192+IjDzz4+rd1YzX/U532vz7Fr6Z8fE0pK/N1dgtM89X33xGPtiTzx89EUn43jv7ctyzplX7c/4XThwoVKT0+v0R4dHe2GauBKf5qY4u4SAACGlZaWKjg4+KR9XB4+2rdvL29vbxUUOD5utqCgQBERETX6p6amKiXlP7+kqqurVVRUpNDQUNlsNleX16KVlJQoOjpau3fvVlBQkLvLabE4zk2PY2wGx9mM0+U4W5al0tJSRUVFnbKvy8OHj4+PBgwYoHXr1mnUqFGSfg8U69at0/Tp02v09/X1la+vr0Nbu3btXF3WaSUoKKhFf8CbC45z0+MYm8FxNuN0OM6nOuNxXJNcdklJSdGECRN03nnn6fzzz9eTTz6psrIy3XTTTU2xOwAA4EGaJHyMHz9e+/bt03333af8/HzFxcVpzZo1NQahAgCA00+TDTidPn16rZdZ0HR8fX2VlpZW4zIWXIvj3PQ4xmZwnM3gONdks+pzTwwAAICL8MVyAADAKMIHAAAwivABAACMInwAAACjCB8tVJcuXWSz2RymRYsWubusFquiokJxcXGy2WzKyclxdzktzp/+9CfFxMTIz89PkZGR+q//+i/l5eW5u6wW4+eff9akSZPUtWtX+fv7q3v37kpLS1NlZaW7S2txHnjgAQ0ePFgBAQGn9QM1CR8t2Pz587V37177dNttt7m7pBZr9uzZ9XqkMBpmyJAhev3115Wbm6s33nhDO3bs0NixY91dVovx/fffq7q6Ws8++6y+/fZbPfHEE1q6dKnuuusud5fW4lRWVuraa6/VLbfc4u5S3IpbbVuoLl26aObMmZo5c6a7S2nxPvjgA6WkpOiNN95Qnz599NVXXykuLs7dZbVo77zzjkaNGqWKigq1bt08vjm5pXnkkUeUkZGhn376yd2ltEjLly/XzJkzdfDgQXeX4hac+WjBFi1apNDQUJ177rl65JFHdOzYMXeX1OIUFBRo8uTJ+p//+R8FBAS4u5zTQlFRkV555RUNHjyY4NGEiouLFRIS4u4y0EIRPlqoGTNm6NVXX9X69es1depUPfjgg5o9e7a7y2pRLMvSxIkTNW3aNJ133nnuLqfFmzNnjtq0aaPQ0FDt2rVLb7/9trtLarG2b9+uZ555RlOnTnV3KWihCB8eZO7cuTUGkf5x+v777yX9/uV+CQkJio2N1bRp0/TYY4/pmWeeUUVFhZtfRfNX3+P8zDPPqLS0VKmpqe4u2SM583mWpDvvvFNfffWV/vnPf8rb21s33nijuGp8cs4eY0nas2ePhg8frmuvvVaTJ092U+WepSHH+XTHmA8Psm/fPh04cOCkfbp16yYfH58a7d9++6369u2r77//Xr169WqqEluE+h7ncePG6d1335XNZrO3V1VVydvbWzfccINeeumlpi7VozXm8/zrr78qOjpan332meLj45uqRI/n7DHOy8tTQkKCLrjgAi1fvlxeXvx9Wh8N+Syf7mM+muyL5eB6HTp0UIcOHRq0bk5Ojry8vBQWFubiqlqe+h7np59+Wvfff799Pi8vT4mJiXrttdc0aNCgpiyxRWjM57m6ulqSOJN3Cs4c4z179mjIkCEaMGCAli1bRvBwQmM+y6crwkcLlJWVpezsbA0ZMkRt27ZVVlaWZs2apb/85S8644wz3F1eixETE+MwHxgYKEnq3r27OnXq5I6SWqTs7Gx98cUXuuiii3TGGWdox44duvfee9W9e3fOerjInj17lJCQoM6dO+vRRx/Vvn377MsiIiLcWFnLs2vXLhUVFWnXrl2qqqqyPxeoR48e9v9DTgeEjxbI19dXr776qubNm6eKigp17dpVs2bNUkpKirtLA5wWEBCgN998U2lpaSorK1NkZKSGDx+ue+65h68od5EPP/xQ27dv1/bt22sEZ67Mu9Z9993ncEn23HPPlSStX79eCQkJbqrKPMZ8AAAAo7ioBwAAjCJ8AAAAowgfAADAKMIHAAAwivABAACMInwAAACjCB8AAMAowgcAADCK8AGg0SZOnKhRo0Y1aN2EhISTfhtoZmama4sF4HY8Xh2AW7355puqrKx0aKusrNSVV14pPz8/vqQPaIE48wGgSdlsNj3//PO65pprFBAQoJ49e+qdd96xLw8JCVFERITDtGDBAu3fv19vvfWW/Pz83Fg9gKZA+ADQ5NLT0zVu3Dht3bpVI0aM0A033KCioqJa+y5ZskQvv/yy3njjDb4dGGihCB8AmtzEiRN1/fXXq0ePHnrwwQd16NAhff755zX6ffLJJ5o5c6YWL16swYMHu6FSACYQPgA0udjYWPvPbdq0UVBQkAoLCx367Nq1S2PHjtWUKVN08803my4RgEGEDwBNrnXr1g7zNptN1dXV9vkjR47ommuuUZ8+ffTkk08arg6AadztAsDtbr75ZhUVFWnt2rVq1Yr/loCWjn/lAFyiuLhYOTk5Dm2hoaGnXO+RRx7RypUr9e677+rYsWPKz893WB4cHCx/f39XlgrAzQgfAFxiw4YNOvfccx3aJk2adMr1lixZoqNHj2r48OG1Ll+2bJkmTpzoihIBNBM2y7IsdxcBAABOHww4BQAARhE+AACAUYQPAABgFOEDAAAYRfgAAABGET4AAIBRhA8AAGAU4QMAABhF+AAAAEYRPgAAgFGEDwAAYBThAwAAGPX/AOYeOabXFXInAAAAAElFTkSuQmCC\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"lnzs_1e5, trulz = hist_ln_fis_at_r(d=100,v=0.01, num_expts=100, num_samp=int(1e5))\n",
"lnzs_1e6, trulz = hist_ln_fis_at_r(d=100,v=0.01, num_expts=100, num_samp=int(1e6))\n",
"plot_hist(lnzs_1e5, trulz, label=\"n=1e5\", color='C0')\n",
"plot_hist(lnzs_1e6, trulz, label=\"n=1e6\", color='C1')\n",
"plt.title(f\"d=100, v=0.01, nRep=100\")\n",
"plt.legend()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 554,
"referenced_widgets": [
"eff9cb2f15214097a69cc882ba43099e",
"94984e3ca4324576a726ea114a8d147a",
"e65b080bacda497683b56e8420cf5297",
"da08eef4abde421295f75f6202918651",
"a68a4a5b229e4a8295a1ee8c7c75eb59",
"56ee66210f0a47d2ac8de0db730ac53d",
"8dfbac71230c4a7dbe16464258a468ad",
"64173a3e3e8443d1948d52f5e5fdfa14",
"d0bfbc1fd67e433fbe5bd8a9439fcee9",
"cd593a1538a1423085def8a6e3589208",
"0eec09a27e6a4939bdc3440201398ab7",
"183d021c53f94aeaa4f396c9b510bb70",
"70211a1050574dfbbf308277973a2924",
"503c4d1aa8d84c08b33901a073dbbce3",
"96580848d54740cf949c5194d34297a4",
"da8de259d7a84c24b602598f17b00284",
"2b23a31e61e44ea5bcd400a5c0d88a0d",
"22922b1a7d58436093ca6cd5e52348aa",
"a675ca82be0344a88195083046d36058",
"815ec21bf0aa433bb5dbeed91dd7022f",
"155a42a8e2244189b86299ed825e947f",
"4fd1de8c7ac24088986a5de137fb488d"
]
},
"id": "48gzcYtVKWzV",
"outputId": "8eee13b5-d484-4a78-baf7-6d5865a35bcd"
},
"execution_count": 129,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
" 0%| | 0/100 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "eff9cb2f15214097a69cc882ba43099e"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
" 0%| | 0/100 [00:00<?, ?it/s]"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "183d021c53f94aeaa4f396c9b510bb70"
}
},
"metadata": {}
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7d9fa06a3460>"
]
},
"metadata": {},
"execution_count": 129
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAHHCAYAAAAf2DoOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAyEElEQVR4nO3de5xNZf//8fc22HtmGAzmlCGnxDgMKlHdqMk0Udyl6HCnk0O4VSqHRxhDCNXt/qYcOqAznXTOFzlVIodRKB1uZUpDfWkGwwwz1++PfrNv2wxmxtrXnj1ez8djPdjXuvZan3XtZe+3tdZe22WMMQIAALCkUqALAAAAZxfCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcqlPHjx8vlcgW6DADAKRA+gJNYuHChbr31VjVt2lQul0tdunQ5ad/c3FyNHDlScXFxCg0NVYcOHbR06dJi+37++ee69NJLFRYWppiYGA0bNkwHDx7001Y4491331W7du3k8XhUv359paam6tixYyV6bkFBgaZNm6aGDRvK4/GodevWevXVV4v0W79+vQYPHqz27durSpUq1kOky+XymSIiItS5c2d98MEHVusojd9++02jRo1S165dVb16dblcLq1cufKk/Uu675VmfwbKxAAVSGpqqnFqt+7cubOpVq2a6dq1q6lVq5bp3LnzSfv27dvXVK5c2Tz44INmzpw5pmPHjqZy5cpmzZo1Pv02b95sPB6Padu2rZk1a5Z5+OGHjdvtNldddZUjNfvDhx9+aFwul+natauZO3eu+ec//2kqVapkBg0aVKLnjxo1ykgy/fv3N3PnzjXdu3c3ksyrr77q0y81NdVUqVLFtG/f3px33nmOvY4lJclceeWV5sUXXzQvvPCCmThxoomLizMul8t8/PHHVmspqRUrVhhJpmnTpqZjx45GklmxYkWxfUuz75V0fwbKivCBCsXJ8LFr1y6Tn59vjDEmISHhpOFj3bp1RpKZPn26t+3w4cOmcePGpmPHjj59U1JSTGxsrMnKyvK2PfPMM0aSWbJkiSN1O61FixamTZs25ujRo962hx9+2LhcLvPNN9+c8rm//PKLqVKlihkyZIi3raCgwFx22WWmXr165tixY972zMxMk5OTY4wxZsiQIQEJH8fXaYwx27dvN5JMSkqK1VpKKjs72/zf//2fMcaY119//ZTho6T7Xmn2Z6CsOO2CoPXpp5/qwgsvlMfjUePGjTVnzhxHlx8fH69KlU7/T+SNN95QSEiIBgwY4G3zeDy66667tHbtWmVkZEiSsrOztXTpUt16662KiIjw9r3ttttUrVo1LVq0qNQ19ujRQ40aNSp2XseOHXXBBReUepnH2759u7Zv364BAwaocuXK3vbBgwfLGKM33njjlM9/5513dPToUQ0ePNjb5nK5dM899+iXX37R2rVrve3R0dEKDQ09o3pPdPvtt6tatWr69ddf1atXL1WrVk1169bVgw8+qPz8/NM+v3nz5qpTp45+/PFHn/bc3FylpqaqSZMmcrvdio+P14gRI5Sbm+vTz+VyaejQoXr55ZfVrFkzeTwetW/fXqtXr3Zk+6pXr67IyMjT9ivNvlfS/Rk4E5VP3wUof77++mt169ZNdevW1fjx43Xs2DGlpqYqOjq6SN+srCwdPXr0tMv0eDyqVq1aqWvZvHmzzjvvPJ83dUm66KKLJEnp6emKj4/X119/rWPHjhUJBFWrVlViYqI2b95c6nX36dNHt912m7788ktdeOGF3vaff/5ZX3zxhaZPn+5tK8s4FNZ0Ys1xcXGqV6/eaWvevHmzwsPD1bx5c5/2wrHZvHmzLr300tPWdCby8/OVnJysDh066LHHHtOyZcv0+OOPq3HjxrrnnntO+dysrCzt379fjRs39rYVFBTo2muv1aeffqoBAwaoefPm+vrrr/Wvf/1L3333nRYvXuyzjFWrVmnhwoUaNmyY3G63nn76aV111VVav369WrZsKUk6evSosrKySrQ9kZGRJQrFxyvNvlfS/Rk4E4QPBKVx48bJGKM1a9aofv36kqTrr79erVq1KtK3Z8+eWrVq1WmX2a9fP82fP7/Utfz222+KjY0t0l7Ytnv3bm+/49tP7LtmzZpSr7tnz55yu91auHChT/hYtGiRXC6XbrzxRp++pR2H09VcuG0n89tvvyk6OrrIxaMnjo0/HTlyRH369NHYsWMlSYMGDVK7du303HPPFQkfR44c0R9//CFjjHbt2qUxY8YoPz9fvXv39vZ55ZVXtGzZMq1atconOLVs2VKDBg3S559/rk6dOnnbt27dqg0bNqh9+/aSpL59+6pZs2YaN26c3nrrLUnSZ599pq5du5Zoe3bu3Klzzz23VGNQmn2vpPszcCYIHwg6+fn5WrJkiXr16uUNHtJfh8iTk5P14Ycf+vR//PHHtX///tMuNy4urkz1HD58WG63u0i7x+Pxzj/+z5P1LZxfGhEREUpJSdGiRYs0ffp074f8woULdfHFF/uMT1nG4XQ1Z2dnn3JZJR0bfxs0aJDP48suu0wvvvhikX7PPfecnnvuOe/jKlWqaMSIERo+fLi37fXXX1fz5s11/vnn648//vC2X3755ZKkFStW+ISPjh07eoOHJNWvX189e/bUe++9p/z8fIWEhKhNmzYl/jZJTExMifodrzT7Xnl5zVCxET4QdH7//XcdPnxYTZs2LTKvWbNmRcLH8W/8/hAaGlrkXL/01/+iC+cf/+fJ+pb1eoc+ffpo8eLFWrt2rTp16qQff/xRGzdu1IwZM3z6lWUczrTmko6NP3k8HtWtW9enrVatWsUGsZ49e2ro0KHKy8vTl19+qcmTJysnJ8fnNMf333+vb775psgyC+3du9fncXH76XnnnaecnBz9/vvviomJUa1atZSUlFSWzSuR0ryO5eE1Q8VH+ECFt2/fPuXl5Z22X2hoqGrUqFHq5cfGxurXX38t0l54qLvwSELhYevC9hP7lvXIyzXXXKOwsDAtWrRInTp10qJFi1SpUiXdcMMNPv3KMg7H13zief7ffvvNex3AycTGxmrFihUyxvicejlxbPwpJCSkxH3r1avnDQFXX3216tSpo6FDh6pr16667rrrJP11zUerVq30xBNPFLuMslwPkZeXp3379pWob926dUu1TVLp9r2S7s/AmeDbLgg6devWVWhoqL7//vsi83bs2FGk7brrrlNsbOxpp3vvvbdM9SQmJuq7774rcgpi3bp13vnSX9cEVK5cWRs2bPDpl5eXp/T0dG+/0goPD1ePHj30+uuvq6CgQAsXLtRll11W5EOiLONQWNOJNe/evVu//PLLaWtOTExUTk6OvvnmG5/2E8emvBo4cKAaN26sMWPGyBgjSWrcuLH27dunK664QklJSUWmZs2a+SyjuP30u+++U1hYmPfoyeeff16i1yY2NrZM3zYpzb5X0v0ZOBMc+UDQCQkJUXJyshYvXqxdu3Z5r2v45ptvtGTJkiL9/X3NR+/evfXYY49p7ty5evDBByX9dXh73rx56tChg/d/wjVq1FBSUpJeeukljR07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kOOnXTp16qTly5fru+++kyRt2bJFn376qVJSUortn5ubq+zsbJ8JAABUXI4f+Rg1apSys7N1/vnnKyQkRPn5+Zo0aZJuueWWYvtPmTJFaWlpTpcBAADKKcePfCxatEgvv/yyXnnlFW3atEkLFizQY489pgULFhTbf/To0crKyvJOGRkZTpcEAADKEcePfDz00EMaNWqU+vbtK0lq1aqVfv75Z02ZMkX9+vUr0t/tdsvtdjtdBgAAKKccP/KRk5OjSpV8FxsSEqKCggKnVwUAAIKQ40c+rrnmGk2aNEn169dXQkKCNm/erCeeeEJ33nmn06sCAABByPHw8eSTT2rs2LEaPHiw9u7dq7i4OA0cOFDjxo1zelUAACAIOR4+qlevrhkzZmjGjBlOLxoAAFQA/LYLAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArKoc6AKAgNvxUaArKB/8OQ7NUvy3bABBhyMfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAq/wSPn799Vfdeuutql27tkJDQ9WqVStt2LDBH6sCAABBprLTC9y/f78uueQSde3aVR999JHq1q2r77//XrVq1XJ6VQAAIAg5Hj6mTp2q+Ph4zZs3z9vWsGFDp1cDAACClOOnXd59911dcMEFuuGGGxQVFaW2bdvqmWeecXo1AAAgSDkePv7zn/9o1qxZatq0qZYsWaJ77rlHw4YN04IFC4rtn5ubq+zsbJ8JAABUXI6fdikoKNAFF1ygyZMnS5Latm2rrVu3avbs2erXr1+R/lOmTFFaWprTZQAV146PAl0BAJwRx498xMbGqkWLFj5tzZs3165du4rtP3r0aGVlZXmnjIwMp0sCAADliONHPi655BLt2LHDp+27775TgwYNiu3vdrvldrudLgMAAJRTjh/5uP/+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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"source": [
"## Renate's version"
],
"metadata": {
"id": "vQRXLbGrEGba"
}
},
{
"cell_type": "code",
"source": [
"%load_ext rpy2.ipython"
],
"metadata": {
"id": "Chs6j3bMEHyk"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"%%R\n",
"#multivariate case\n",
"d = 5 # dimension\n",
"v = 2 # variance\n",
"# true evidence\n",
"thetastar = rep(0,d)\n",
"Z = (2*pi*(v+1))^(-d/2)\n",
"Z2 = 1/sqrt(2*pi*v)^d* exp(-sum(thetastar^2)/2/v) *1/sqrt(2*pi)^d*exp(-sum(thetastar^2)/2) / prod(dnorm(thetastar,mean=0,sd=sqrt(v/(v+1))))\n",
"\n",
"# fix R and look at varying MCMC sample size n:\n",
"n = seq(10000,1000000, by=50000 )\n",
"kmax = length(n)\n",
"R=100\n",
"phat = rep(0,kmax)\n",
"ptrue = prod(dnorm(thetastar,mean=0,sd=sqrt(v/(v+1))))\n",
"Zhat = rep(0,kmax)\n",
"for (k in 1:kmax){\n",
" theta = thetastar = matrix(0,nrow=n[k],ncol=d)\n",
" for (j in 1:d){\n",
" theta[,j] = rnorm(n[k],mean=0,sd=sqrt(v/(v+1)))\n",
" }\n",
" tmp = sin(R*(thetastar-theta))/(thetastar-theta)\n",
" phat[k] = 1/n[k]/pi^d*sum(apply(tmp,1,prod))\n",
"\n",
" likelihood = 1/sqrt(2*pi*v)^d*exp(-sum(thetastar[1,]^2)/2/v)\n",
" prior = 1/sqrt(2*pi)^d*exp(-sum(thetastar[1,]^2)/2)\n",
"\n",
" Zhat[k] = likelihood*prior/phat[k]\n",
"}\n",
"par(mfrow=c(2,1))\n",
"plot(n,Zhat)\n",
"abline(a=Z,b=0)\n",
"plot(n,phat)\n",
"abline(a=ptrue,0)\n",
"print(c(R,Z-Zhat[k],mean(Z-Zhat),sd(Zhat),ptrue-phat[k],mean(ptrue-phat),sd(phat)))\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 532
},
"id": "OVLTamGiEIzP",
"outputId": "4dbdf1bf-badb-40cd-bf18-ba0c94ea7df1"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[1] 1.000000e+02 6.280733e-04 6.117632e-04 1.287898e-04 -8.665389e-01\n",
"[6] -1.236168e-01 6.325309e-01\n"
]
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [
"%%R\n",
"plot(n,log(Zhat)-log(Z))"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 497
},
"id": "HjhFHyDuHoJj",
"outputId": "739766ea-b04e-4f2b-9c7a-f1cd12e5ab99"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "rctKGgq4HqnN"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [],
"metadata": {
"id": "MgvtMn-1KN6N"
},
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment