Abstract
Using Bayesian inference, the detection of the unknown masses of planets and stars was attempted by simulating the trajectory of N known bodies in the presence of m unknown bodies in two dimensions. The invisible planets were then detected by applying a Markov-Chain Monte Carlo (MCMC) algorithm to a posterior distribution for the mass of the unknowns built from the probability that their presence with a given mass gave rise to the trajectory simulated. This probability was estimated from the Gaussian difference between the simulated trajectory and the trajectories obtained with the unknowns at each mass. The program was found to be quite sensitive to unknown masses that caused only small perturbations in the trajectories of the known masses, but gave incorrect results for prior distributions which resulted in instability. Provided with the Sun and a few other known planets from the solar system, it was found to be possible to get a good approximation on the mass of a planet in the system made "invisible" for the purpose of the simulation. Given knowledge of the planets in the solar systems, and reasonable constraints on the prior distribution, the mass of the sun was determined to 0.3% of the actual.
Program dependencies
In addition to the default packages provided by Anaconda (tested 2020/04/07), the following packages must be installed to ensure complete compatitbility.
Pyglet is a package used to animate the simulations, and Corner is a package used to generate corner plots of the MCMC runs.
conda install -c conda-forge pyglet
conda install -c astropy corner
Description of file directories
The following is a breakdown of all the files present in the GitHub repository. All of the files in the repository are intended for the final submission.
-
assets/- Folder containing sample animation .gif for the README.md -
final_report/- Contains the manuscript for the final report submission -
invisoplanet_detection/- Module containing all of the source code-
animations/- Submodule for running animations -
data/- Subdirectory containing initial conditions for various systems -
simulations/- Submodule for conducting simulationstests/- Unit tests for simulations submodule
-
statistics/- Submodule for performing statisticstests/- Unit tests for statistics submodule
-
-
preplanning/- Contains all of the brainstorms and initial project planning -
Running_MCMC.ipynb- Main code used to conduct the MCMC analyses -
contributions.txt- Breakdown of contributions per member -
generate_animation.py- Main code used to generate animations
The remaining files .gitignore and README.md are typical.
Authors
The three authors for this work are Delaney Dunne (DD), Michael Lindner-D'Addario (MLD), and Gabriella Morin (GM).

