https://jverzani.github.io/CalculusWithJuliaNotes.jl/ [logo] Calculus with Julia 1. Preface * Preface * Precalculus Concepts + 1 From calculator to computer + 2 Variables + 3 Number systems + 4 Inequalities, Logical expressions + 5 Vectors + 6 Ranges and Sets + 7 Functions + 8 The Graph of a Function + 9 Function manipulations + 10 The Inverse of a Function + 11 Polynomials + 12 Roots of a polynomial + 13 The Polynomials package + 14 Rational functions + 15 Exponential and logarithmic functions + 16 Trigonometric functions + 17 Overview of Julia commands * Limits + 18 Limits + 19 Limits, issues, extensions of the concept + 20 Continuity + 21 Implications of continuity * Derivatives + 22 Derivatives + 23 Numeric derivatives + 24 Symbolic derivatives + 25 The mean value theorem for differentiable functions. + 26 Optimization + 27 The first and second derivatives + 28 Curve Sketching + 29 Linearization + 30 Newton's method + 31 Derivative-free alternatives to Newton's method + 32 L'Hospital's Rule + 33 Implicit Differentiation + 34 Related rates + 35 Taylor Polynomials and other Approximating Polynomials * Integrals + 36 Area under a curve + 37 Fundamental Theorem of Calculus + 38 Substitution + 39 Integration By Parts + 40 Partial Fractions + 41 Improper Integrals + 42 Mean value theorem for integrals + 43 Area between two curves + 44 Center of Mass + 45 Volumes by slicing + 46 Arc length + 47 Surface Area * ODEs + 48 ODEs + 49 Euler's method + 50 The problem-algorithm-solve interface + 51 The DifferentialEquations suite * Differential vector calculus + 52 Polar Coordinates and Curves + 53 Vectors and matrices + 54 Vector-valued functions, \(f:R \rightarrow R^n\) + 55 Scalar functions + 56 Applications with scalar functions + 57 Functions \(R^n \rightarrow R^m\) + 58 2D and 3D plots in Julia with Plots * Integral vector calculus + 59 Multi-dimensional integrals + 60 Line and Surface Integrals + 61 The Gradient, Divergence, and Curl + 62 Green's Theorem, Stokes' Theorem, and the Divergence Theorem + 63 Quick Review of Vector Calculus * Alternative packages + 64 Symbolics.jl + 65 The SciML suite of packages + 66 JavaScript based plotting libraries + 67 Calculus plots with Makie * Appendices + 68 Getting started with Julia + 69 Julia interfaces + 70 The CalculusWithJulia package + 71 Usages of Unicode symbols + 72 Quick introduction to Calculus with Julia * References Table of contents * Preface * Edit this page * Report an issue Calculus with Julia Author John Verzani Published April 26, 2024 Preface [logo] Calculus with Julia --------------------------------------------------------------------- This is a set of notes for learning calculus using the Julia language. Julia is an open-source programming language with an easy to learn syntax that is well suited for this task. Read "Getting started with Julia" to learn how to install and customize Julia for following along with these notes. Read "Julia interfaces to review different ways to interact with a Julia installation. Since the mid 90s there has been a push to teach calculus using many different points of view. The Harvard style rule of four says that as much as possible the conversation should include a graphical, numerical, algebraic, and verbal component. These notes use the programming language Julia to illustrate the graphical, numerical, and, at times, the algebraic aspects of calculus. There are many examples of integrating a computer algebra system (such as Mathematica, Maple, or Sage) into the calculus conversation. Computer algebra systems can be magical. The popular WolframAlpha website calls the full power of Mathematica while allowing an informal syntax that is flexible enough to be used as a backend for Apple's Siri feature. ("Siri what is the graph of x squared minus 4? ") For learning purposes, computer algebra systems model very well the algebraic/symbolic treatment of the material while providing means to illustrate the numeric aspects. These notes are a bit different in that Julia is primarily used for the numeric style of computing and the algebraic/symbolic treatment is added on. Doing the symbolic treatment by hand can be very beneficial while learning, and computer algebra systems make those exercises seem kind of redundant, as the finished product can be produced much easier. Our real goal is to get at the concepts using technology as much as possible without getting bogged down in the mechanics of the computer language. We feel Julia has a very natural syntax that makes the initial start up not so much more difficult than using a calculator, but with a language that has a tremendous upside. The notes restrict themselves to a reduced set of computational concepts. This set is sufficient for working many of the problems in calculus, but do not cover thoroughly many aspects of programming. (Those who are interested can go off on their own and Julia provides a rich opportunity to do so.) Within this restricted set, are operators that make many of the computations of calculus reduce to a function call of the form action(function, arguments...). With a small collection of actions that can be composed, many of the problems associated with introductory calculus can be attacked. These notes are presented in pages covering a fairly focused concept, in a spirit similar to a section of a book. Just like a book, there are try-it-yourself questions at the end of each page. All have a limited number of self-graded answers. These notes borrow ideas from many sources, for example Strang (n.d.), Knill (n.d.), Schey (1997), Hass, Heil, and Weir (2018), Rogawski, Adams, and Franzosa (2019), several Wikipedia pages, and other sources.. These notes are accompanied by a Julia package CalculusWithJulia that provides some simple functions to streamline some common tasks and loads some useful packages that will be used repeatedly. These notes are presented as a Quarto book. To learn more about Quarto books visit https://quarto.org/docs/books. These notes may be compiled into a pdf file through Quarto. As the result is rather large, we do not provide that file for download. For the interested reader, downloading the repository, instantiating the environment, and running quarto to render to pdf in the quarto subdirectory should produce that file (after some time). To contribute - say by suggesting addition topics, correcting a mistake, or fixing a typo - click the "Edit this page" link and join the list of contributors. Thanks to all contributors and a very special thanks to @fangliu-tju for their careful and most-appreciated proofreading. --------------------------------------------------------------------- Calculus with Julia version 0.18, produced on April 26, 2024. Hass, Joel R., Christopher E. Heil, and Maurice D. Weir. 2018. Thomas' Calculus. Pearson. Knill, Oliver. n.d. "Some Teaching Notes." https:// people.math.harvard.edu/~knill/teach/index.html. Rogawski, Jon, Colin Adams, and Robert Franzosa. 2019. Calculus. Macmillan. Schey, H. M. 1997. Div, Grad, Curl, and All That. W.W. Norton. Strang, Gilbert. n.d. "Calculus." Wellesley-Cambridge Press. https:// ocw.mit.edu/courses/res-18-001-calculus-online-textbook-spring-2005/. Precalculus Concepts Copyright 2022, John Verzani * Edit this page * Report an issue