Preliminary Draft, February 16, 2017 9:03 Preliminary Draft, February 16, 2017 9:03 ? 2 Preliminary Draft, February 16, 2017 9:03 Tugboat, Volume 0 (9999), No

Total Page:16

File Type:pdf, Size:1020Kb

Preliminary Draft, February 16, 2017 9:03 Preliminary Draft, February 16, 2017 9:03 ? 2 Preliminary Draft, February 16, 2017 9:03 Tugboat, Volume 0 (9999), No TUGboat, Volume 0 (9999), No. 0 preliminary draft, February 16, 2017 9:03 ? 1 SageMathCloud for Collaborative Document on it, then collect it later, grade it, and return Editing and Scientific Computing it. Hal Snyder Multiple Cursors for Each User If a user cre- ates multiple cursors using command- or alt- Abstract click, all cursors are visible to other users. The open-source platform SageMathCloud (SMC) 3 Editing Documents lets users collaborate in real time on scientific com- puting and authoring technical documents with stan- Nothing to Install Because SMC is a cloud ser- vice, there is no software to install locally and dard LATEX tools. This article offers a survey of key features, presenting SMC as a unique, unified plat- projects are reachable from any device with an form for teachers and researchers to be productive internet connection. Files can be compiled on- in today's mixed software environments and interdis- line to PDF without the need for local installa- A ciplinary problem spaces. tion of LTEX software. Document History and Backups Every edit (at 1 Introduction 2-second resolution) is recorded and stored in- All features of SageMathCloud are available as soon definitely in SMC's backend database. You can as a free login is created. The following sections offer browse the history using the TimeTravel view, a tour of major features of SMC. which also includes a mode showing exactly what changed between two points in time (and who 2 Collaboration made those changes). Figure 3 shows Time- Travel view comparing two versions of a file. SMC collaboration features apply to both static doc- uments and executable files. Supported file types SMC stores several hundred read-only snap- shots of the complete filesystem state, which include LATEX, Markdown, and HTML documents, as well as Sage worksheets, Jupyter notebooks, and users can easily browse. This lets them recover Linux terminal sessions. older versions of files that might not have been edited via the web-editor (e.g., edited by vim or Multiple Users SMC has simultaneous real-time emacs via a terminal). collaboration with no explicit limit on the num- Preview SMC supports online preview, even for ber of simultaneous users. Each user can cus- documents that are 150 or more pages. It pro- tomize the color of their cursor. Figure 1 shows gressively refines the resolution of the preview an example of a second user collaborating during images and nearby pages. One of the SMC de- an edit session. velopers wrote the 2016 Cambridge University Work Through Network Interruptions If your Press book Prime Numbers and the Riemann network connection temporarily fails, you can Hypothesis using SMC [2]. continue editing as long as you want, and your Forward and Inverse Search SMC supports in- changes will be merged into the live document verse search, which means that by double- when you reconnect. clicking on an area on a preview page, the cursor Text and Video Chat SMC has text chat on the in the text editor jumps to the corresponding side of each document. Unlike most other chat location. Similarly, you can jump from a point systems, you can include inline and display in the text editor to the corresponding point in MathJax-compatible LATEX formulas and mark- the preview via forward search. down in the side chat. Users may edit any past Editor User Interface SMC has a full-featured chat message. Other collaborators are notified of text editor for LATEX documents. It has hor- messages via a bell in the upper right. Figure 2 izontal and vertical split view, which lets you shows chat with LATEX beside file views. look at two points in the document simultane- Video chat is available as well by clicking a ously. SMC developers wrote a code folding button in the side chat panel. mode (see https://github.com/codemirror/ Course Management SMC has an integrated CodeMirror/pull/4498), so one can easily tog- course management system, which makes it easy gle display of sections, subsections, etc. Emacs, to fully use LATEX with students in the context Vim, and Sublime keybindings are supported of teaching courses and workshops. For exam- along with many color schemes. ple, you can create a document template with Customizable LATEX Build System SMC fully questions, push it to all students, let them work supports processing very complicated LATEX preliminary draft, February 16, 2017 9:03 preliminary draft, February 16, 2017 9:03 ? 2 preliminary draft, February 16, 2017 9:03 TUGboat, Volume 0 (9999), No. 0 Figure 1: Editing .tex file, showing cursor of second user Harald. Figure 2: Editable chat beside file views. Figure 3: Edit history showing difference between two versions. preliminary draft, February 16, 2017 9:03 preliminary draft, February 16, 2017 9:03 TUGboat, Volume 0 (9999), No. 0 preliminary draft, February 16, 2017 9:03 ? 3 documents using custom build systems, includ- sheets and Jupyter notebooks, both of which ing several LATEX engines | pdflatex, latexmk, have chat and TimeTravel and support LATEX and xelatex | with most packages preinstalled. mixed with code. Sage worksheets allow users Users can easily request additional packages (by to easily mix different languages and document clicking the help button), or install them them- formats in different cells of a single worksheet. selves in their local projects. The LATEX build Terminal Sessions Any number of text-based ter- command is fully customizable, and can involve minals may be opened to the underlying Ubuntu running arbitrary command sequences, since we operating system, providing access to standard offer a full Linux environment. It is, for example, Linux tools and command-line interfaces to pro- even possible to use GNU make to orchestrate gramming languages. the full compilation via a Makefile. 5 Free and Paid Accounts Dynamic Content Our LATEX editing environ- ment comes with SageTeX, which makes it easy Free accounts provide unlimited projects and collab- to add the output of Python (and SageMath!) orators, with 3GB of disk space per project. SMC computations to any LATEX document. Note charges for a upgrades, including more disk space, that the plots shown in Figure 2 are dynami- CPU power, and outside network access, which makes cally generated using SageTeX commands. The it possible to connect to the Internet from within a figure displays an excerpt from the example file project in order to push and pull data to remote sites for the sagetex package by Dan Drake [1]. (e.g., GitHub). For more about pricing, see https: Besides SageTeX, SMC supports embedding //cloud.sagemath.com/policies/pricing.html R code via knitr into LATEX documents. This technique is popular for generating documents 6 Further Study with statistical and data science content. The best way to learn more about SMC is to create a Spell Checking In addition to normal spell check- free account at https://cloud.sagemath.com and ing, SMC has TEX-aware spell checking. try it out for editing and programming. Other Document Formats Side-by-side editing There is a wealth of tutorial and reference infor- also supports HTML, Markdown, R Markdown, mation at the SMC wiki at https://github.com/ and Sweave formats, all of which support re- sagemathinc/smc/wiki. altime preview and inline and display LATEX. Articles about new features and system inter- Figure 4 shows SMC compiling R Markdown. nals can be found at the SMC blog, http://blog. Autocomplete The keyboard shortcut ctrl-space sagemath.com. Some of the information in this arti- autocompletes common LATEX commands. cle appeared in the SMC blog posting [3]. Source code is on GitHub at https://github. 4 Scientific Computing com/sagemathinc/smc. 4.1 Available Software References Languages SMC includes dozens of programming languages and thousands of libraries and pack- [1] Dan Drake. dandrake/sagetex: embed ages, including computer algebra systems for code, results of computations, and plots theoretical mathematics, scientific packages for from the Sage mathematics software suite physical sciences and bioinformatics, and statis- (http://sagemath.org) into LATEX documents. tical and machine learning software for data sci- https://github.com/dandrake/sagetex, 2017. ence. Here are some of the supported languages: [Online; accessed 2017-02-15]. Python, Sage, R, Julia, C, C++, Haskell, Scala. [2] Barry Mazur and William Stein. Prime Num- Packages and Environments Popular packages bers and the Riemann Hypothesis. Cambridge and libraries are provided for each programming University Press, 2016. language. For Python, the entire Anaconda [3] Hal Snyder. SMC for Collaborative LATEX Edit- suite is available. Sage alone includes symbolic ing. http://blog.sagemath.com/latex/2017/ and numeric packages, including NumPy, SciPy, 02/06/smc-for-latex.html, 2017. [Online; ac- matplotlib, Sympy, Maxima, Pari/GP, GAP, R, cessed 2017-02-14]. and Singular. See Figure 5. Hal Snyder 4.2 Programming Frameworks Sagemath, Inc. Interactive Notebooks In the category of interac- hsnyder (at) sagemath.com tive notebook computing, SMC offers Sage work- https://cloud.sagemath.com/ preliminary draft, February 16, 2017 9:03 preliminary draft, February 16, 2017 9:03 ? 4 preliminary draft, February 16, 2017 9:03 TUGboat, Volume 0 (9999), No. 0 Figure 4: Compiling an R Markdown File in SMC. Figure 5: Sage worksheet with LATEX in markdown, symbolic expressions, and units of measure. preliminary draft, February 16, 2017 9:03 preliminary draft, February 16, 2017 9:03.
Recommended publications
  • Stan: a Probabilistic Programming Language
    JSS Journal of Statistical Software January 2017, Volume 76, Issue 1. doi: 10.18637/jss.v076.i01 Stan: A Probabilistic Programming Language Bob Carpenter Andrew Gelman Matthew D. Hoffman Columbia University Columbia University Adobe Creative Technologies Lab Daniel Lee Ben Goodrich Michael Betancourt Columbia University Columbia University Columbia University Marcus A. Brubaker Jiqiang Guo Peter Li York University NPD Group Columbia University Allen Riddell Indiana University Abstract Stan is a probabilistic programming language for specifying statistical models. A Stan program imperatively defines a log probability function over parameters conditioned on specified data and constants. As of version 2.14.0, Stan provides full Bayesian inference for continuous-variable models through Markov chain Monte Carlo methods such as the No-U-Turn sampler, an adaptive form of Hamiltonian Monte Carlo sampling. Penalized maximum likelihood estimates are calculated using optimization methods such as the limited memory Broyden-Fletcher-Goldfarb-Shanno algorithm. Stan is also a platform for computing log densities and their gradients and Hessians, which can be used in alternative algorithms such as variational Bayes, expectation propa- gation, and marginal inference using approximate integration. To this end, Stan is set up so that the densities, gradients, and Hessians, along with intermediate quantities of the algorithm such as acceptance probabilities, are easily accessible. Stan can be called from the command line using the cmdstan package, through R using the rstan package, and through Python using the pystan package. All three interfaces sup- port sampling and optimization-based inference with diagnostics and posterior analysis. rstan and pystan also provide access to log probabilities, gradients, Hessians, parameter transforms, and specialized plotting.
    [Show full text]
  • Stan: a Probabilistic Programming Language
    JSS Journal of Statistical Software MMMMMM YYYY, Volume VV, Issue II. http://www.jstatsoft.org/ Stan: A Probabilistic Programming Language Bob Carpenter Andrew Gelman Matt Hoffman Columbia University Columbia University Adobe Research Daniel Lee Ben Goodrich Michael Betancourt Columbia University Columbia University University of Warwick Marcus A. Brubaker Jiqiang Guo Peter Li University of Toronto, NPD Group Columbia University Scarborough Allen Riddell Dartmouth College Abstract Stan is a probabilistic programming language for specifying statistical models. A Stan program imperatively defines a log probability function over parameters conditioned on specified data and constants. As of version 2.2.0, Stan provides full Bayesian inference for continuous-variable models through Markov chain Monte Carlo methods such as the No-U-Turn sampler, an adaptive form of Hamiltonian Monte Carlo sampling. Penalized maximum likelihood estimates are calculated using optimization methods such as the Broyden-Fletcher-Goldfarb-Shanno algorithm. Stan is also a platform for computing log densities and their gradients and Hessians, which can be used in alternative algorithms such as variational Bayes, expectation propa- gation, and marginal inference using approximate integration. To this end, Stan is set up so that the densities, gradients, and Hessians, along with intermediate quantities of the algorithm such as acceptance probabilities, are easily accessible. Stan can be called from the command line, through R using the RStan package, or through Python using the PyStan package. All three interfaces support sampling and optimization-based inference. RStan and PyStan also provide access to log probabilities, gradients, Hessians, and data I/O. Keywords: probabilistic program, Bayesian inference, algorithmic differentiation, Stan.
    [Show full text]
  • Advancedhmc.Jl: a Robust, Modular and Efficient Implementation of Advanced HMC Algorithms
    2nd Symposium on Advances in Approximate Bayesian Inference, 20191{10 AdvancedHMC.jl: A robust, modular and efficient implementation of advanced HMC algorithms Kai Xu [email protected] University of Edinburgh Hong Ge [email protected] University of Cambridge Will Tebbutt [email protected] University of Cambridge Mohamed Tarek [email protected] UNSW Canberra Martin Trapp [email protected] Graz University of Technology Zoubin Ghahramani [email protected] University of Cambridge & Uber AI Labs Abstract Stan's Hamilton Monte Carlo (HMC) has demonstrated remarkable sampling robustness and efficiency in a wide range of Bayesian inference problems through carefully crafted adaption schemes to the celebrated No-U-Turn sampler (NUTS) algorithm. It is challeng- ing to implement these adaption schemes robustly in practice, hindering wider adoption amongst practitioners who are not directly working with the Stan modelling language. AdvancedHMC.jl (AHMC) contributes a modular, well-tested, standalone implementation of NUTS that recovers and extends Stan's NUTS algorithm. AHMC is written in Julia, a modern high-level language for scientific computing, benefiting from optional hardware acceleration and interoperability with a wealth of existing software written in both Julia and other languages, such as Python. Efficacy is demonstrated empirically by comparison with Stan through a third-party Markov chain Monte Carlo benchmarking suite. 1. Introduction Hamiltonian Monte Carlo (HMC) is an efficient Markov chain Monte Carlo (MCMC) algo- rithm which avoids random walks by simulating Hamiltonian dynamics to make proposals (Duane et al., 1987; Neal et al., 2011). Due to the statistical efficiency of HMC, it has been widely applied to fields including physics (Duane et al., 1987), differential equations (Kramer et al., 2014), social science (Jackman, 2009) and Bayesian inference (e.g.
    [Show full text]
  • Maple Advanced Programming Guide
    Maple 9 Advanced Programming Guide M. B. Monagan K. O. Geddes K. M. Heal G. Labahn S. M. Vorkoetter J. McCarron P. DeMarco c Maplesoft, a division of Waterloo Maple Inc. 2003. ­ ii ¯ Maple, Maplesoft, Maplet, and OpenMaple are trademarks of Water- loo Maple Inc. c Maplesoft, a division of Waterloo Maple Inc. 2003. All rights re- ­ served. The electronic version (PDF) of this book may be downloaded and printed for personal use or stored as a copy on a personal machine. The electronic version (PDF) of this book may not be distributed. Information in this document is subject to change without notice and does not rep- resent a commitment on the part of the vendor. The software described in this document is furnished under a license agreement and may be used or copied only in accordance with the agreement. It is against the law to copy the software on any medium as specifically allowed in the agreement. Windows is a registered trademark of Microsoft Corporation. Java and all Java based marks are trademarks or registered trade- marks of Sun Microsystems, Inc. in the United States and other countries. Maplesoft is independent of Sun Microsystems, Inc. All other trademarks are the property of their respective owners. This document was produced using a special version of Maple that reads and updates LATEX files. Printed in Canada ISBN 1-894511-44-1 Contents Preface 1 Audience . 1 Worksheet Graphical Interface . 2 Manual Set . 2 Conventions . 3 Customer Feedback . 3 1 Procedures, Variables, and Extending Maple 5 Prerequisite Knowledge . 5 In This Chapter .
    [Show full text]
  • End-User Probabilistic Programming
    End-User Probabilistic Programming Judith Borghouts, Andrew D. Gordon, Advait Sarkar, and Neil Toronto Microsoft Research Abstract. Probabilistic programming aims to help users make deci- sions under uncertainty. The user writes code representing a probabilistic model, and receives outcomes as distributions or summary statistics. We consider probabilistic programming for end-users, in particular spread- sheet users, estimated to number in tens to hundreds of millions. We examine the sources of uncertainty actually encountered by spreadsheet users, and their coping mechanisms, via an interview study. We examine spreadsheet-based interfaces and technology to help reason under uncer- tainty, via probabilistic and other means. We show how uncertain values can propagate uncertainty through spreadsheets, and how sheet-defined functions can be applied to handle uncertainty. Hence, we draw conclu- sions about the promise and limitations of probabilistic programming for end-users. 1 Introduction In this paper, we discuss the potential of bringing together two rather distinct approaches to decision making under uncertainty: spreadsheets and probabilistic programming. We start by introducing these two approaches. 1.1 Background: Spreadsheets and End-User Programming The spreadsheet is the first \killer app" of the personal computer era, starting in 1979 with Dan Bricklin and Bob Frankston's VisiCalc for the Apple II [15]. The primary interface of a spreadsheet|then and now, four decades later|is the grid, a two-dimensional array of cells. Each cell may hold a literal data value, or a formula that computes a data value (and may depend on the data in other cells, which may themselves be computed by formulas).
    [Show full text]
  • An Introduction to Data Analysis Using the Pymc3 Probabilistic Programming Framework: a Case Study with Gaussian Mixture Modeling
    An introduction to data analysis using the PyMC3 probabilistic programming framework: A case study with Gaussian Mixture Modeling Shi Xian Liewa, Mohsen Afrasiabia, and Joseph L. Austerweila aDepartment of Psychology, University of Wisconsin-Madison, Madison, WI, USA August 28, 2019 Author Note Correspondence concerning this article should be addressed to: Shi Xian Liew, 1202 West Johnson Street, Madison, WI 53706. E-mail: [email protected]. This work was funded by a Vilas Life Cycle Professorship and the VCRGE at University of Wisconsin-Madison with funding from the WARF 1 RUNNING HEAD: Introduction to PyMC3 with Gaussian Mixture Models 2 Abstract Recent developments in modern probabilistic programming have offered users many practical tools of Bayesian data analysis. However, the adoption of such techniques by the general psychology community is still fairly limited. This tutorial aims to provide non-technicians with an accessible guide to PyMC3, a robust probabilistic programming language that allows for straightforward Bayesian data analysis. We focus on a series of increasingly complex Gaussian mixture models – building up from fitting basic univariate models to more complex multivariate models fit to real-world data. We also explore how PyMC3 can be configured to obtain significant increases in computational speed by taking advantage of a machine’s GPU, in addition to the conditions under which such acceleration can be expected. All example analyses are detailed with step-by-step instructions and corresponding Python code. Keywords: probabilistic programming; Bayesian data analysis; Markov chain Monte Carlo; computational modeling; Gaussian mixture modeling RUNNING HEAD: Introduction to PyMC3 with Gaussian Mixture Models 3 1 Introduction Over the last decade, there has been a shift in the norms of what counts as rigorous research in psychological science.
    [Show full text]
  • GNU Octave a High-Level Interactive Language for Numerical Computations Edition 3 for Octave Version 2.0.13 February 1997
    GNU Octave A high-level interactive language for numerical computations Edition 3 for Octave version 2.0.13 February 1997 John W. Eaton Published by Network Theory Limited. 15 Royal Park Clifton Bristol BS8 3AL United Kingdom Email: [email protected] ISBN 0-9541617-2-6 Cover design by David Nicholls. Errata for this book will be available from http://www.network-theory.co.uk/octave/manual/ Copyright c 1996, 1997John W. Eaton. This is the third edition of the Octave documentation, and is consistent with version 2.0.13 of Octave. Permission is granted to make and distribute verbatim copies of this man- ual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the en- tire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the same conditions as for modified versions. Portions of this document have been adapted from the gawk, readline, gcc, and C library manuals, published by the Free Software Foundation, 59 Temple Place—Suite 330, Boston, MA 02111–1307, USA. i Table of Contents Publisher’s Preface ...................... 1 Author’s Preface ........................ 3 Acknowledgements ........................................ 3 How You Can Contribute to Octave ........................ 5 Distribution .............................................. 6 1 A Brief Introduction to Octave ....... 7 1.1 Running Octave...................................... 7 1.2 Simple Examples ..................................... 7 Creating a Matrix ................................. 7 Matrix Arithmetic ................................. 8 Solving Linear Equations..........................
    [Show full text]
  • Stan Modeling Language
    Stan Modeling Language User’s Guide and Reference Manual Stan Development Team Stan Version 2.12.0 Tuesday 6th September, 2016 mc-stan.org Stan Development Team (2016) Stan Modeling Language: User’s Guide and Reference Manual. Version 2.12.0. Copyright © 2011–2016, Stan Development Team. This document is distributed under the Creative Commons Attribution 4.0 International License (CC BY 4.0). For full details, see https://creativecommons.org/licenses/by/4.0/legalcode The Stan logo is distributed under the Creative Commons Attribution- NoDerivatives 4.0 International License (CC BY-ND 4.0). For full details, see https://creativecommons.org/licenses/by-nd/4.0/legalcode Stan Development Team Currently Active Developers This is the list of current developers in order of joining the development team (see the next section for former development team members). • Andrew Gelman (Columbia University) chief of staff, chief of marketing, chief of fundraising, chief of modeling, max marginal likelihood, expectation propagation, posterior analysis, RStan, RStanARM, Stan • Bob Carpenter (Columbia University) language design, parsing, code generation, autodiff, templating, ODEs, probability functions, con- straint transforms, manual, web design / maintenance, fundraising, support, training, Stan, Stan Math, CmdStan • Matt Hoffman (Adobe Creative Technologies Lab) NUTS, adaptation, autodiff, memory management, (re)parameterization, optimization C++ • Daniel Lee (Columbia University) chief of engineering, CmdStan, builds, continuous integration, testing, templates,
    [Show full text]
  • Maple 7 Programming Guide
    Maple 7 Programming Guide M. B. Monagan K. O. Geddes K. M. Heal G. Labahn S. M. Vorkoetter J. McCarron P. DeMarco c 2001 by Waterloo Maple Inc. ii • Waterloo Maple Inc. 57 Erb Street West Waterloo, ON N2L 6C2 Canada Maple and Maple V are registered trademarks of Waterloo Maple Inc. c 2001, 2000, 1998, 1996 by Waterloo Maple Inc. All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the copyright holder, except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden. The use of general descriptive names, trade names, trademarks, etc., in this publication, even if the former are not especially identified, is not to be taken as a sign that such names, as understood by the Trade Marks and Merchandise Marks Act, may accordingly be used freely by anyone. Contents 1 Introduction 1 1.1 Getting Started ........................ 2 Locals and Globals ...................... 7 Inputs, Parameters, Arguments ............... 8 1.2 Basic Programming Constructs ............... 11 The Assignment Statement ................. 11 The for Loop......................... 13 The Conditional Statement ................. 15 The while Loop....................... 19 Modularization ........................ 20 Recursive Procedures ..................... 22 Exercise ............................ 24 1.3 Basic Data Structures .................... 25 Exercise ............................ 26 Exercise ............................ 28 A MEMBER Procedure ..................... 28 Exercise ............................ 29 Binary Search ......................... 29 Exercises ........................... 30 Plotting the Roots of a Polynomial ............. 31 1.4 Computing with Formulæ .................. 33 The Height of a Polynomial ................. 34 Exercise ...........................
    [Show full text]
  • Teaching an ODE Course with Cocalc, Sage, Jupyter Notebooks, and LATEX
    An ODE Course with Jupyter Notebooks Teaching an ODE Course with CoCalc, Sage, Jupyter Notebooks, and LATEX Thomas W. Judson Stephen F. Austin State University [email protected] MAA Contributed Paper Session on The Teaching and Learning of Undergraduate Ordinary Differential Equations 2019 Joint Mathematics Meetings January 18, 2019 An ODE Course with Jupyter Notebooks UTMOST 1.0 The first UTMOST (Undergraduate Teaching in Mathematics with Open Software and Textbooks) project was a National Science Foundation CCLI Type 2 grant (2010{2014) that promoted open-source software and open-source curriculum in the undergraduate mathematics classroom. I American Institute of Mathematics (DUE{1022574) I Drake University (DUE{1022036) I Stephen F. Austin State University (DUE{1020957) I University of Colorado Boulder (DUE{1020687) I University of Washington (DUE{1020378) I University of California, San Diego An ODE Course with Jupyter Notebooks Highlights of UTMOST 1.0 The products of the first UTMOST grant included: I CoCalc (formerly SageMathCloud)|A comprehensive cloud computing environment for education and scientific computing. I Sage Cell Server|A mechanism to embed live computations into any webpage. I PreTeXt (formerly MathBook XML)|A framework for writing mathematics that can be published in a variety of formats. I Sage Education Workshops|Workshops for learning how to use Sage for the teaching and learning of mathematics. I AIM Open Textbook Initiative|An editorial board to identify and support quality open-source textbooks. An ODE Course with Jupyter Notebooks UTMOST 2.0 The second phase of UTMOST was launched in Fall 2016 and supported by the National Science Foundation as a two-year IUSE grant.
    [Show full text]
  • Bayesian Linear Mixed Models with Polygenic Effects
    JSS Journal of Statistical Software June 2018, Volume 85, Issue 6. doi: 10.18637/jss.v085.i06 Bayesian Linear Mixed Models with Polygenic Effects Jing Hua Zhao Jian’an Luan Peter Congdon University of Cambridge University of Cambridge University of London Abstract We considered Bayesian estimation of polygenic effects, in particular heritability in relation to a class of linear mixed models implemented in R (R Core Team 2018). Our ap- proach is applicable to both family-based and population-based studies in human genetics with which a genetic relationship matrix can be derived either from family structure or genome-wide data. Using a simulated and a real data, we demonstrate our implementa- tion of the models in the generic statistical software systems JAGS (Plummer 2017) and Stan (Carpenter et al. 2017) as well as several R packages. In doing so, we have not only provided facilities in R linking standalone programs such as GCTA (Yang, Lee, Goddard, and Visscher 2011) and other packages in R but also addressed some technical issues in the analysis. Our experience with a host of general and special software systems will facilitate investigation into more complex models for both human and nonhuman genetics. Keywords: Bayesian linear mixed models, heritability, polygenic effects, relationship matrix, family-based design, genomewide association study. 1. Introduction The genetic basis of quantitative phenotypes has been a long-standing research problem as- sociated with a large and growing literature, and one of the earliest was by Fisher(1918) on additive effects of genetic variants (the polygenic effects). In human genetics it is common to estimate heritability, the proportion of polygenic variance to the total phenotypic variance, through twin and family studies.
    [Show full text]
  • A Short Introduction to Sagemath
    A short introduction to SageMath Éric Gourgoulhon Laboratoire Univers et Théories (LUTH) CNRS / Observatoire de Paris / Université Paris Diderot Université Paris Sciences et Lettres 92190 Meudon, France http://luth.obspm.fr/~luthier/gourgoulhon/leshouches18/ École de Physique des Houches 11 July 2018 Éric Gourgoulhon SageMath Les Houches, 11 July 2018 1 / 13 Pynac, Maxima, SymPy: symbolic calculations GAP: group theory PARI/GP: number theory Singular: polynomial computations matplotlib: high quality figures Jupyter: graphical interface (notebook) and provides a uniform interface to them William Stein (Univ. of Washington) created SageMath in 2005; since then, ∼100 developers (mostly mathematicians) have joined the SageMath team SageMath is now supported by European Union via the open-math project OpenDreamKit (2015-2019, within the Horizon 2020 program) it is based on the Python programming language it makes use of many pre-existing open-sources packages, among which The mission Create a viable free open source alternative to Magma, Maple, Mathematica and Matlab. SageMath in a few words SageMath( nickname: Sage) is a free open-source mathematics software system Éric Gourgoulhon SageMath Les Houches, 11 July 2018 2 / 13 Pynac, Maxima, SymPy: symbolic calculations GAP: group theory PARI/GP: number theory Singular: polynomial computations matplotlib: high quality figures Jupyter: graphical interface (notebook) and provides a uniform interface to them William Stein (Univ. of Washington) created SageMath in 2005; since then, ∼100 developers (mostly mathematicians) have joined the SageMath team SageMath is now supported by European Union via the open-math project OpenDreamKit (2015-2019, within the Horizon 2020 program) it makes use of many pre-existing open-sources packages, among which The mission Create a viable free open source alternative to Magma, Maple, Mathematica and Matlab.
    [Show full text]