Getting Started with CmdStan
- A C++11 compiler
- The Gnu
makeutility for *nix,
Installing CmdStan from Python
Python 3 users can install CmdStan using the
included with CmdStanPy
Installing from GitHub releases page
The CmdStan releases page includes a link to a
tar.gz file which contains CmdStan and all submodules. Download and unpack the latest release.
Installing from GitHub repo
git clone https://github.com/stan-dev/cmdstan.git --recursive
stan-updatewhich recursively installs the
stan-mathsubmodules and the
Build a Stan Model
The make target
help will display options.
Build all tools (optional):
Build a model
linux / mac:
From the cmdstan home directory, compile the
bernoulli.stan model specified in the
Run the default sampling algorithm using the data specified in
bernoulli.data.R. This prints out information while the algorithm runs and outputs a file
output.csv in the current directory:
examples/bernoulli/bernoulli sample data file=examples/bernoulli/bernoulli.data.R
stansummary script to summarize the information and print to standard output:
Using a different Stan branch
If the branch is
feature/foo-bar, from the cmdstan home directory:
Keeping CmdStan up-to-date
make stan-update from the cmdstan home directory.
On the file structure
It may be helpful at times to run manual git commands in the repos. Stan is a submodule within CmdStan and is located in the
stan/ folder. The math library is a submodule within Stan and is located in the
To keep everything up-to-date manually, run
git pull within the home directory of each repo (cmdstan, stan, and math). Similarly, to change branches for one of these repos, simply
git checkout that branch within the home directory of that repo.
Comprehensive documentation is available from the CmdStan Interface User's Guide, distributed with each release.