Skip to main content

Stability of Planetary Orbital Configurations Klassifier

Project description

SPOCK 🖖

Stability of Planetary Orbital Configurations Klassifier

image image image image image image

image

Documentation

Quickstart

Let's predict the probability that a given 3-planet system is stable past 1 billion orbits with the XGBoost-based classifier, and then compute its median expected instability time with the deep regressor:

import rebound
from spock import FeatureClassifier, DeepRegressor
feature_model = FeatureClassifier()
deep_model = DeepRegressor()

sim = rebound.Simulation()
sim.add(m=1.)
sim.add(m=1.e-5, P=1., e=0.03, l=0.3)
sim.add(m=1.e-5, P=1.2, e=0.03, l=2.8)
sim.add(m=1.e-5, P=1.5, e=0.03, l=-0.5)
sim.move_to_com()

# XGBoost-based classifier
print(feature_model.predict_stable(sim))
# >>> 0.011505529

# Bayesian neural net-based regressor
median, lower, upper = deep_model.predict_instability_time(sim, samples=10000)
print(int(median))
# >>> 419759

# This time in the time units you used in setting up the REBOUND Simulation above
# Since we set the innermost planet orbit to unity, this corresponds to 419759 innermost planet orbits

Examples

Colab tutorial for the deep regressor.

The example notebooks contain many additional examples: jupyter_examples/.

Installation

SPOCK is compatible with both Linux and Mac. SPOCK relies on XGBoost, which has installation issues with OpenMP on Mac OSX. If you have problems (https://github.com/dmlc/xgboost/issues/4477), the easiest way is probably to install homebrew, and:

brew install libomp

The most straightforward way to avoid any version conflicts is to download the Anaconda Python distribution and make a separate conda environment.

Here we create we create a new conda environment called spock and install all the required dependencies

conda create -q --name spock -c pytorch -c conda-forge python=3.7 numpy scipy pandas scikit-learn matplotlib torchvision pytorch xgboost rebound einops jupyter pytorch-lightning ipython h5py
conda activate spock
pip install spock

Each time you want to use spock you will first have to activate this spock conda environment (google conda environments).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spock-1.2.1.tar.gz (41.2 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page