All Projects → clawpack → Riemann_book

clawpack / Riemann_book

Licence: other
An interactive book about the Riemann problem for hyperbolic PDEs, using Jupyter notebooks. Work in progress.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Riemann book

Mish
Official Repsoitory for "Mish: A Self Regularized Non-Monotonic Neural Activation Function" [BMVC 2020]
Stars: ✭ 1,072 (+570%)
Mutual labels:  jupyter-notebook, mathematics
Calculonumerico
Escrita colaborativa de recursos educacionais abertos sobre cálculo numérico.
Stars: ✭ 90 (-43.75%)
Mutual labels:  book, numerical-methods
Accupy
Accurate sums and dot products for Python.
Stars: ✭ 65 (-59.37%)
Mutual labels:  mathematics, numerical-methods
Deep Learning Book Chapter Summaries
Attempting to make the Deep Learning Book easier to understand.
Stars: ✭ 952 (+495%)
Mutual labels:  jupyter-notebook, mathematics
Fastdoc
Create publication-quality books from Jupyter notebooks
Stars: ✭ 134 (-16.25%)
Mutual labels:  jupyter-notebook, book
Machine Learning From Scratch
Succinct Machine Learning algorithm implementations from scratch in Python, solving real-world problems (Notebooks and Book). Examples of Logistic Regression, Linear Regression, Decision Trees, K-means clustering, Sentiment Analysis, Recommender Systems, Neural Networks and Reinforcement Learning.
Stars: ✭ 42 (-73.75%)
Mutual labels:  jupyter-notebook, book
Notebooks
📓 A growing collection of Jupyter Notebooks written in Python, OCaml and Julia for science examples, algorithms, visualizations etc
Stars: ✭ 84 (-47.5%)
Mutual labels:  jupyter-notebook, mathematics
Tensorflow Book
Accompanying source code for Machine Learning with TensorFlow. Refer to the book for step-by-step explanations.
Stars: ✭ 4,448 (+2680%)
Mutual labels:  jupyter-notebook, book
Gonum
开源Go语言数值算法库(An open numerical library purely based on Go programming language)
Stars: ✭ 128 (-20%)
Mutual labels:  mathematics, numerical-methods
Python Mathematics Handbook
A set of notebooks for an introduction to Python for Mathematicians.
Stars: ✭ 117 (-26.87%)
Mutual labels:  jupyter-notebook, mathematics
Awesome Ai Books
Some awesome AI related books and pdfs for learning and downloading, also apply some playground models for learning
Stars: ✭ 855 (+434.38%)
Mutual labels:  jupyter-notebook, mathematics
Deep Learning With Tensorflow Book
深度学习入门开源书,基于TensorFlow 2.0案例实战。Open source Deep Learning book, based on TensorFlow 2.0 framework.
Stars: ✭ 12,105 (+7465.63%)
Mutual labels:  jupyter-notebook, book
Bfgs Neldermead Trustregion
Python implementation of some numerical (optimization) methods
Stars: ✭ 8 (-95%)
Mutual labels:  mathematics, numerical-methods
Machine learning bookshelf
机器学习深度学习相关书籍、课件、代码的仓库。 Machine learning is the warehouse of books, courseware and codes.
Stars: ✭ 46 (-71.25%)
Mutual labels:  jupyter-notebook, book
Cocalc
CoCalc: Collaborative Calculation in the Cloud
Stars: ✭ 888 (+455%)
Mutual labels:  jupyter-notebook, mathematics
Pragmaticai
[Book-2019] Pragmatic AI: An Introduction to Cloud-based Machine Learning
Stars: ✭ 79 (-50.62%)
Mutual labels:  jupyter-notebook, book
Stats Maths With Python
General statistics, mathematical programming, and numerical/scientific computing scripts and notebooks in Python
Stars: ✭ 381 (+138.13%)
Mutual labels:  jupyter-notebook, mathematics
Python For Probability Statistics And Machine Learning
Jupyter Notebooks for Springer book "Python for Probability, Statistics, and Machine Learning"
Stars: ✭ 481 (+200.63%)
Mutual labels:  jupyter-notebook, book
Python Bigdata
Data science and Big Data with Python
Stars: ✭ 112 (-30%)
Mutual labels:  jupyter-notebook, numerical-methods
Polymath
Scientific Computing with Pharo
Stars: ✭ 135 (-15.62%)
Mutual labels:  mathematics, numerical-methods

Build Status

Riemann Problems and Jupyter Solutions

by David I. Ketcheson, Randall J. LeVeque, and Mauricio del Razo Sarmina

This repository contains source files for a book that illustrates Riemann solutions and approximate Riemann solvers in Jupyter notebooks. The print version of the book is available from SIAM, and also as an ebook. You can view a pdf version of the contents, preface, and index.

Riemann Problems and Jupyter Solutions
    Theory and Approximate Solvers for Hyperbolic PDEs
by David I. Ketcheson, Randall J. LeVeque, and Mauricio J. del Razo
SIAM, 2020.   ISBN: 978-1-611976-20-5
ebook: DOI 10.1137/1.9781611976212

See https://bookstore.siam.org/fa16/bonus for additional information and links to the html rendered notebooks. These are static views (no execution or interactive widgets), but some notebooks include animations that will play.

The recommended way to fully experience the book is by running the Jupyter notebooks:

Start from the table of contents given in the notebook Index.ipynb, which is also shown below. The notebook Index2.ipynb lists some notebooks that are not in the SIAM book, some of which are still under development. Additional notebooks may appear in the future.

Branches

The FA16 branch of this repository corresponds to notebooks as converted into the SIAM book. The master branch may be updated in the future.

Installation

To install the dependencies, first install a Fortran compiler. Then do the following in a terminal:

pip install clawpack
git clone https://github.com/clawpack/riemann_book
cd riemann_book
pip install -r requirements.txt
jupyter nbextension enable --py widgetsnbextension
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable equation-numbering/main

You can test your installation by running

python test.py

A table of contents and suggested order for reading the notebooks is given in Index.ipynb.

If you want to compile the PDF locally, you must also install the package bookbook.

Docker

Rather than installing all the dependencies, if you have Docker installed you can use

$ docker pull clawpack/rbook

to obtain a docker image that has all the notebooks and dependencies installed. This was built using the Dockerfile in this repository, which could be modified to build a new image also containing other material, if desired. See Docker.md for further instructions.

Execute in the cloud

Binder

Rather than installing anything on your own computer, you can run the notebooks on the cloud using the free binder service.
Simply navigate to this link in a browser:

https://mybinder.org/v2/gh/clawpack/riemann_book/FA16

This may take a few minutes to start up a notebook server on a Jupyterhub. Then navigate to riemann_book and open Index.ipynb to get started.

License

Code

The code in this repository, including all code samples in the notebooks, is released under the 3-Clause BSD License. See LICENSE-CODE for the license and read more at the Open Source Initiative.

Text

The text content of the notebooks is released under the CC-BY-NC-ND License. See LICENSE-TEXT.md for the license and read more at Creative Commons.

Contents

Taken from the notebook Index.ipynb, these are the notebooks that also appear in the printed book:

  • Preface -- Describes the aims and goals, and different ways to use the notebooks.
  • Part I: The Riemann problem and its solution
    • Introduction.ipynb -- Introduces basic ideas with some sample solutions.
    • Advection.ipynb -- The scalar advection equation is the simplest hyperbolic problem.
    • Acoustics.ipynb -- This linear system of two equations illustrates how eigenstructure is used.
    • Burgers.ipynb -- The classic nonlinear scalar problem with a convex flux.
    • Traffic_flow.ipynb -- A nonlinear scalar problem with a nice physical interpretation.
    • Nonconvex_scalar.ipynb -- More interesting Riemann solutions arise when the flux is not convex.
    • Shallow_water.ipynb -- A classic nonlinear system of two equations.
    • Shallow_tracer.ipynb -- Adding a passively advected tracer and a linearly degenerate field.
    • Euler.ipynb -- The classic equations for an ideal gas.
  • Part II: Approximate solvers
    • Approximate_solvers.ipynb -- Introduction to two basic types of approximations.
    • Burgers_approximate.ipynb -- Approximate solvers for a scalar problem.
    • Shallow_water_approximate.ipynb -- Roe solvers, the entropy fix, positivity, HLL, and HLLE.
    • Euler_approximate.ipynb -- Extension of these solvers to gas dynamics.
    • FV_compare.ipynb -- Comparing how different approximate solvers perform when used with PyClaw.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].