Quick Reference to Sage

Total Page:16

File Type:pdf, Size:1020Kb

Quick Reference to Sage Sage Quick Reference (Basic Math) find_root(f(x), a, b) find x ∈ [a, b] s.t. f(x) ≈ 0 options e.g. aspect ratio=[1, 1, 1] color=’red’ opacity Peter Jipsen, latest version at n sagemath.org/quickref X plot3d(f(x, y),[xb,xe],[yb,ye],options) f(i) = sum([f(i) for i in [k..n]]) GNU Free Document License, extend for your own use add option plot_points=[m, n] or use plot3d adaptive Aim: map standard math notation to Sage commands i=k n parametric plot3d((f(t),g(t),h(t)),[t ,t ],options) Y b e f(i) = prod([f(i) for i in [k..n]]) parametric plot3d((f(u, v),g(u, v),h(u, v)), i=k Notebook (and commandline) [ub,ue],[vb,ve],options) Evaluate cell: hshift-enteri Calculus use + to combine graphics objects comhtabi tries to complete command lim f(x) = limit(f(x), x=a) x→a Discrete math command?htabi shows documentation lim f(x) = limit(f(x), x=a, dir=’minus’) command??htabi shows source x→a− bxc = floor(x) dxe = ceil(x) lim f(x) = limit(f(x), x=a, dir=’plus’) a.htabi shows all methods for object a (more: dir(a)) x→a+ Remainder of n divided by k = n%k k|n iff n%k==0 string or regexp shows links to docs d n! = factorial(n) x = binomial(x,m) search_doc(’ ’) dx (f(x)) = diff(f(x),x) m search_src(’string or regexp’) shows links to source ∂ φ = golden_ratio φ(n) = euler phi(n) ∂x (f(x, y)) = diff(f(x,y),x) lprint() toggle LaTeX output mode diff = differentiate = derivative Strings: e.g. s = ’Hello’ = "Hello" = ""+"He"+’llo’ version() print version of Sage R f(x)dx = integral(f(x),x) s[0]=’H’ s[-1]=’o’ s[1:3]=’el’ s[3:]=’lo’ Insert cell: click on blue line between cells integral = integrate Lists: e.g. [1,’Hello’,x] = []+[1,’Hello’]+[x] Delete cell: delete content then backspace R b Tuples: e.g. (1,’Hello’,x) (immutable) a f(x)dx = integral(f(x),x,a,b) Taylor polynomial, deg n about a: taylor(f(x),x,a,n) Sets: e.g. {1, 2, 1, a} = Set([1,2,1,’a’]) (= {1, 2, a}) Numerical types List comprehension ≈ set builder notation, e.g. Integers: Z = ZZ e.g. -2 -1 0 1 10^100 2d graphics {f(x): x ∈ X, x > 0} = Set([f(x) for x in X if x>0]) Rationals: = QQ e.g. 1/2 1/1000 314/100 -42 Q line([(x1,y1),...,(xn,yn)],options) Decimals: R ≈ RR e.g. .5 0.001 3.14 -42. x y ... x y options Linear algebra polygon([( 1, 1), ,( n, n)], ) Complex: ≈ e.g. 1 C CC 1+i 2.5-3*i circle((x,y),r,options) = vector([1,2]) 2 text("txt",(x,y),options) Basic constants and functions 1 2 options as in plot.options, e.g. thickness=pixel, = matrix([[1,2],[3,4]]) Constants: π = pi e = e i = i ∞ = oo 3 4 rgbcolor=(r,g,b), hue=h where 0 ≤ r, b, g, h ≤ 1 Approximate: pi.n(digits=18) = 3.14159265358979324 1 2 use option figsize=[w,h] to adjust aspect ratio = det(matrix([[1,2],[3,4]])) Functions: sin cos tan sec csc cot sinh cosh tanh 3 4 plot(f(x),x ,x ,options) sech csch coth log ln exp min max Av = A*v A−1 = A^-1 At = A.transpose() √ parametric plot((f(t),g(t)),t ,t ,options) ab = a*b a = a/b ab = a^b x = sqrt(x) min max methods: nrows() ncols() nullity() rank() trace()... √ b polar plot(f(t),t ,t ,options) n x = x^(1/n) |x| = abs(x) log (x) = log(x,b) min max b combine graphs: circle((1,1),1)+line([(0,0),(2,2)]) Symbolic variables: e.g. t,u,v,y,z = var(’t u v y z’) Sage modules and packages animate(list of graphics objects, options).show(delay=20) Define function: e.g. f(x) = x2 f(x)=x^2 from module name import * (many preloaded) or f=lambda x: x^2 or def f(x): return x^2 e.g. calculus coding combinat crypto functions 3d graphics games geometry graphs groups logic matrix line3d([(x ,y ,z ),...,(x ,y ,z )],options) Operations on expressions 1 1 1 n n n numerical plot probability rings sets stats sphere((x,y,z),r,options) factor(...) expand(...) (...).simplify_... sage.module name.all.htabi shows exported commands tetrahedron((x,y,z),size,options) Symbolic equations: f(x)==g(x) Std packages: Maxima GP/PARI GAP Singular R Shell ... cube((x,y,z),size,options) _ is previous output Opt packages: Biopython Fricas(Axiom) Gnuplot Kash ... octahedron((x,y,z),size,options) _+a _-a _*a _/a manipulates equation %package name then use package command syntax dodecahedron((x,y,z),size,options) Solve f(x) = g(x): solve(f(x)==g(x),x) time command to show timing information icosahedron((x,y,z),size,options) solve([f(x,y)==0, g(x,y)==0], x,y) (Sage quick reference version 1.1) 1.
Recommended publications
  • Axiom / Fricas
    Axiom / FriCAS Christoph Koutschan Research Institute for Symbolic Computation Johannes Kepler Universit¨atLinz, Austria Computer Algebra Systems 15.11.2010 Master's Thesis: The ISAC project • initiative at Graz University of Technology • Institute for Software Technology • Institute for Information Systems and Computer Media • experimental software assembling open source components with as little glue code as possible • feasibility study for a novel kind of transparent single-stepping software for applied mathematics • experimenting with concepts and technologies from • computer mathematics (theorem proving, symbolic computation, model based reasoning, etc.) • e-learning (knowledge space theory, usability engineering, computer-supported collaboration, etc.) • The development employs academic expertise from several disciplines. The challenge for research is interdisciplinary cooperation. Rewriting, a basic CAS technique This technique is used in simplification, equation solving, and many other CAS functions, and it is intuitively comprehensible. This would make rewriting useful for educational systems|if one copes with the problem, that even elementary simplifications involve hundreds of rewrites. As an example see: http://www.ist.tugraz.at/projects/isac/www/content/ publications.html#DA-M02-main \Reverse rewriting" for comprehensible justification Many CAS functions can not be done by rewriting, for instance cancelling multivariate polynomials, factoring or integration. However, respective inverse problems can be done by rewriting and produce human readable derivations. As an example see: http://www.ist.tugraz.at/projects/isac/www/content/ publications.html#GGTs-von-Polynomen Equation solving made transparent Re-engineering equation solvers in \transparent single-stepping systems" leads to types of equations, arranged in a tree. ISAC's tree of equations are to be compared with what is produced by tracing facilities of Mathematica and/or Maple.
    [Show full text]
  • Arxiv:2102.02679V1 [Cs.LO] 4 Feb 2021 HOL-ODE [10], Which Supports Reasoning for Systems of Ordinary Differential Equations (Sodes)
    Certifying Differential Equation Solutions from Computer Algebra Systems in Isabelle/HOL Thomas Hickman, Christian Pardillo Laursen, and Simon Foster University of York Abstract. The Isabelle/HOL proof assistant has a powerful library for continuous analysis, which provides the foundation for verification of hybrid systems. However, Isabelle lacks automated proof support for continuous artifacts, which means that verification is often manual. In contrast, Computer Algebra Systems (CAS), such as Mathematica and SageMath, contain a wealth of efficient algorithms for matrices, differen- tial equations, and other related artifacts. Nevertheless, these algorithms are not verified, and thus their outputs cannot, of themselves, be trusted for use in a safety critical system. In this paper we integrate two CAS systems into Isabelle, with the aim of certifying symbolic solutions to or- dinary differential equations. This supports a verification technique that is both automated and trustworthy. 1 Introduction Verification of Cyber-Physical and Autonomous Systems requires that we can verify both discrete control, and continuous evolution, as envisaged by the hy- brid systems domain [1]. Whilst powerful bespoke verification tools exist, such as the KeYmaera X [2] proof assistant, software engineering requires a gen- eral framework, which can support a variety of notations and paradigms [3]. Isabelle/HOL [4] is a such a framework. Its combination of an extensible fron- tend for syntax processing, and a plug-in oriented backend, based in ML, which supports a wealth of heterogeneous semantic models and proof tools, supports a flexible platform for software development, verification, and assurance [5,6,7]. Verification of hybrid systems in Isabelle is supported by several detailed li- braries of Analysis, including Multivariate Analysis [8], Affine Arithmetic [9], and arXiv:2102.02679v1 [cs.LO] 4 Feb 2021 HOL-ODE [10], which supports reasoning for Systems of Ordinary Differential Equations (SODEs).
    [Show full text]
  • A Quick Guide to Gnuplot
    A Quick Guide to Gnuplot Andrea Mignone Physics Department, University of Torino AA 2020-2021 What is Gnuplot ? • Gnuplot is a free, command-driven, interactive, function and data plotting program, providing a relatively simple environment to make simple 2D plots (e.g. f(x) or f(x,y)); • It is available for all platforms, including Linux, Mac and Windows (http://www.gnuplot.info) • To start gnuplot from the terminal, simply type > gnuplot • To produce a simple plot, e.g. f(x) = sin(x) and f(x) = cos(x)^2 gnuplot> plot sin(x) gnuplot> replot (cos(x))**2 # Add another plot • By default, gnuplot assumes that the independent, or "dummy", variable for the plot command is "x” (or “t” in parametric mode). Mathematical Functions • In general, any mathematical expression accepted by C, FORTRAN, Pascal, or BASIC may be plotted. The precedence of operators is determined by the specifications of the C programming language. • Gnuplot supports the same operators of the C programming language, except that most operators accept integer, real, and complex arguments. • Exponentiation is done through the ** operator (as in FORTRAN) Using set/unset • The set/unset commands can be used to controls many features, including axis range and type, title, fonts, etc… • Here are some examples: Command Description set xrange[0:2*pi] Limit the x-axis range from 0 to 2*pi, set ylabel “f(x)” Sets the label on the y-axis (same as “set xlabel”) set title “My Plot” Sets the plot title set log y Set logarithmic scale on the y-axis (same as “set log x”) unset log y Disable log scale on the y-axis set key bottom left Position the legend in the bottom left part of the plot set xlabel font ",18" Change font size for the x-axis label (same as “set ylabel”) set tic font ",18" Change the major (labelled) tics font size on all axes.
    [Show full text]
  • Python Data Plotting and Visualisation Extravaganza 1 Introduction
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by The Python Papers Anthology The Python Papers Monograph, Vol. 1 (2009) 1 Available online at http://ojs.pythonpapers.org/index.php/tppm Python Data Plotting and Visualisation Extravaganza Guy K. Kloss Computer Science Institute of Information & Mathematical Sciences Massey University at Albany, Auckland, New Zealand [email protected] This paper tries to dive into certain aspects of graphical visualisation of data. Specically it focuses on the plotting of (multi-dimensional) data us- ing 2D and 3D tools, which can update plots at run-time of an application producing or acquiring new or updated data during its run time. Other visual- isation tools for example for graph visualisation, post computation rendering and interactive visual data exploration are intentionally left out. Keywords: Linear regression; vector eld; ane transformation; NumPy. 1 Introduction Many applications produce data. Data by itself is often not too helpful. To generate knowledge out of data, a user usually has to digest the information contained within the data. Many people have the tendency to extract patterns from information much more easily when the data is visualised. So data that can be visualised in some way can be much more accessible for the purpose of understanding. This paper focuses on the aspect of data plotting for these purposes. Data stored in some more or less structured form can be analysed in multiple ways. One aspect of this is post-analysis, which can often be organised in an interactive exploration fashion. One may for example import the data into a spreadsheet or otherwise suitable software tool which allows to present the data in various ways.
    [Show full text]
  • Sage Tutorial (Pdf)
    Sage Tutorial Release 9.4 The Sage Development Team Aug 24, 2021 CONTENTS 1 Introduction 3 1.1 Installation................................................4 1.2 Ways to Use Sage.............................................4 1.3 Longterm Goals for Sage.........................................5 2 A Guided Tour 7 2.1 Assignment, Equality, and Arithmetic..................................7 2.2 Getting Help...............................................9 2.3 Functions, Indentation, and Counting.................................. 10 2.4 Basic Algebra and Calculus....................................... 14 2.5 Plotting.................................................. 20 2.6 Some Common Issues with Functions.................................. 23 2.7 Basic Rings................................................ 26 2.8 Linear Algebra.............................................. 28 2.9 Polynomials............................................... 32 2.10 Parents, Conversion and Coercion.................................... 36 2.11 Finite Groups, Abelian Groups...................................... 42 2.12 Number Theory............................................. 43 2.13 Some More Advanced Mathematics................................... 46 3 The Interactive Shell 55 3.1 Your Sage Session............................................ 55 3.2 Logging Input and Output........................................ 57 3.3 Paste Ignores Prompts.......................................... 58 3.4 Timing Commands............................................ 58 3.5 Other IPython
    [Show full text]
  • MATH2010-1 Logiciels Mathématiques
    MATH2010-1 Logiciels mathématiques Émilie Charlier Département de Mathématique Université de Liège 10 février 2020 Calculatrices électroniques I La HP-35, commercialisée en janvier 1972 par Hewlett-Packard. I Première calculatrice scientifique. I Devient célèbre sous le nom de “règle à calcul électronique”. I 395 dollars (moitié du salaire mensuel d’un enseignant de l’époque). https://fr.wikipedia.org/wiki/HP-35 Calculatrices graphiques I La TI-89, commercialisée par Texas Instruments en 1998. I Calcul formel. I Possibilités de programmation. http://fr.wikipedia.org/wiki/Calculatrice (Une multitude de) logiciels mathématiques Depuis 1960, au moins 45 logiciels mathématiques : Axiom FORM Magnus MuPAD SyMAT Cadabra FriCAS Maple OpenAxiom SymbolicC++ Calcinator FxSolver Mathcad PARI/GP Symbolism CoCoA-4 GAP Mathematica Reduce Symengine CoCoA-5 GiNaC MathHandbook Scilab SymPy Derive KANT/KASH Mathics SageMath TI-Nspire DataMelt Macaulay2 Mathomatic SINGULAR Wolfram Alpha Erable Macsyma Maxima SMath Xcas/Giac Fermat Magma MuMATH Symbolic Yacas http://en.wikipedia.org/wiki/List_of_computer_algebra_systems Logiciels de mathématiques Quelques logiciels commerciaux : I Maple, Waterloo Maple Inc., Maplesoft, depuis 1985. I Mathematica, Wolfram Research, depuis 1988. I Matlab, MathWorks, depuis 1989 I Magma, University of Sydney, depuis 1990 Quelques logiciels libres : I Maxima, W. Schelter et coll., depuis 1967 : Calcul symbolique I Singular, U. Kaiserslautern, depuis 1984 : Polynômes I PARI/GP, U. Bordeaux 1, depuis 1985 : Théorie des nombres I GAP, GAP Group, depuis 1986 : Théorie des groupes I R, U. Auckland, New Zealand, depuis 1993 : Statistiques Deux distinctions importantes I Calcul numérique vs calcul symbolique I Logiciel libre vs logiciel commercial Dans ce cours, présentation de 4 logiciels : I Mathematica : commercial, calcul symbolique I SymPy : libre, calcul symbolique I Geogebra : gratuit, géométrie et algèbre I Calc : gratuit, tableurs Remarque : gratuit 6= libre.
    [Show full text]
  • Gnuplot Documentation and Sources
    gnuplot 5.0 An Interactive Plotting Program Thomas Williams & Colin Kelley Version 5.0 organized by: Ethan A Merritt and many others Major contributors (alphabetic order): Christoph Bersch, Hans-Bernhard Br¨oker, John Campbell, Robert Cunningham, David Denholm, Gershon Elber, Roger Fearick, Carsten Grammes, Lucas Hart, Lars Hecking, P´eterJuh´asz, Thomas Koenig, David Kotz, Ed Kubaitis, Russell Lang, Timoth´eeLecomte, Alexander Lehmann, J´er^omeLodewyck, Alexander Mai, Bastian M¨arkisch, Ethan A Merritt, Petr Mikul´ık, Carsten Steger, Shigeharu Takeno, Tom Tkacik, Jos Van der Woude, James R. Van Zandt, Alex Woo, Johannes Zellner Copyright c 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley Copyright c 2004 - 2017 various authors Mailing list for comments: [email protected] Mailing list for bug reports: [email protected] Web access (preferred): http://sourceforge.net/projects/gnuplot This manual was originally prepared by Dick Crawford. Version 5.0.7 (August 2017) 2 gnuplot 5.0 CONTENTS Contents I Gnuplot 17 Copyright 17 Introduction 17 Seeking-assistance 18 New features in version 5 19 New commands............................................... 20 Changes in version 5 20 Deprecated syntax 21 Demos and Online Examples 21 Batch/Interactive Operation 21 Canvas size 22 Command-line-editing 22 Comments 23 Coordinates 23 Datastrings 24 Enhanced text mode 24 Environment 25 Expressions 26 Functions.................................................. 27 Elliptic integrals..........................................
    [Show full text]
  • Collaborative Use of Ketcindy and Free Cass for Making Materials 1
    Collaborative Use of KeTCindy and Free CASs for Making Materials Setsuo Takato1, Alasdair McAndrew2, Masataka Kaneko3 1 Toho University, Japan, [email protected] 2 Victoria University, Australia, [email protected] 3 Toho University, Japan, [email protected] 1 Introduction Many mathematics teachers at collegiate level use LATEX to write materials for dis- tribution to their classes. As is well known, LATEX can typeset complex mathe- matical formulas. On the other hand, it has poor ability to create figures. One possibility might be to use a third-party package, such as TiKZ. However, TiKZ coding is complicated and is not easy to read even for the following simple figure. y y = x y = sinx x O Figure 1 A simple example TiKZ can in fact produce figures of great complexity, but its power comes at the cost of a steep learning curve. In order to provide a system for easy creation of publication quality figures, the first author has developed KETpic, the first version of which was released in 2006. KETpic is a macro package of mathematical soft- ware such as Maple, Mathematica, Scilab and R. The recent version uses Scilab mainly and R secondarily. The flow of generating and inserting graphs with KETpic is as follows. 1. KETpic and Scilab commands are listed in a Scilab editor and executed by Scilab. 2. Scilab generates a LATEX file composed of codes for drawing figures. 3. That file can be inserted into a LATEX document with \input command. 4. The document can be compiled to produce a pdf file.
    [Show full text]
  • Snap.Py SNAP for Python
    An Introduction to Snap.py SNAP for Python Author: Rok Sosic Created: Sep 26, 2013 Content Introduction to Snap.py Tutorial Plotting Q&A What is SNAP? Stanford Network Analysis Project (SNAP) General purpose, high performance system for analysis and manipulation of large networks Scales to massive networks with hundreds of millions of nodes, and billions of edges Manipulates large networks, calculates structural properties, generates graphs, and supports attributes on nodes and edges Software is C++ based Web site at http://snap.stanford.edu What is Snap.py? Snap.py: SNAP for Python Provides SNAP functionality in Python C++ Good - fast program execution Downside - complex language, needs compilation Python Downside – slow program execution Good – simple language, interactive use Snap.py Good – fast program execution Good – simple language, interactive use Web site at http://snap.stanford.edu/snap/snap.py.html Snap.py Documentation Check out Snap.py at: http://snap.stanford.edu/snap/snap.py.html Packages for Mac OS X, Windows, Linux Quick Introduction and Tutorial SNAP documentation (snap.stanford.edu) User Reference Manual Top level graph classes TUNGraph, TNGraph, TNEANet Namespace TSnap Developer resources Developer Reference Manual GitHub repository SNAP C++ Programming Guide Snap.py Installation Download the Snap.py package for your platform: http://snap.stanford.edu/snap/snap.py.html Packages for Mac OS X, Windows, Linux (CentOS) 64-bit only – OS, Python Mac OS X, 10.7.5 or later Windows, install
    [Show full text]
  • Computer Algebra Independent Integration Tests 0 Independent Test Suites/Hebisch Problems
    Computer algebra independent integration tests 0_Independent_test_suites/Hebisch_Problems Nasser M. Abbasi November 25, 2018 Compiled on November 25, 2018 at 10:22pm Contents 1 Introduction 2 2 detailed summary tables of results 9 3 Listing of integrals 11 4 Listing of Grading functions 25 1 2 1 Introduction This report gives the result of running the computer algebra independent integration problems.The listing of the problems are maintained by and can be downloaded from Albert Rich Rubi web site. 1.1 Listing of CAS systems tested The following systems were tested at this time. 1. Mathematica 11.3 (64 bit). 2. Rubi 4.15.2 in Mathematica 11.3. 3. Rubi in Sympy (Version 1.3) under Python 3.7.0 using Anaconda distribution. 4. Maple 2018.1 (64 bit). 5. Maxima 5.41 Using Lisp ECL 16.1.2. 6. Fricas 1.3.4. 7. Sympy 1.3 under Python 3.7.0 using Anaconda distribution. 8. Giac/Xcas 1.4.9. Maxima, Fricas and Giac/Xcas were called from inside SageMath version 8.3. This was done using SageMath integrate command by changing the name of the algorithm to use the different CAS systems. Sympy was called directly using Python. Rubi in Sympy was also called directly using sympy 1.3 in python. 1.2 Design of the test system The following diagram gives a high level view of the current test build system. POST PROCESSOR SCRIPT Mathematica script Result table Rubi script Result table Test files from Program that Albert Rich Rubi Maple script Result table generates the web site Latex report PDF using input Result table Latex report Python script to test sympy from the result tables Giac Result table SageMath/Python HTML Fricas Result table script to test SageMath Maxima, Fricas, Giac Maxima Result table One record (line) per one integral result.
    [Show full text]
  • Using Gretl for Principles of Econometrics, 4Th Edition Version 1.0411
    Using gretl for Principles of Econometrics, 4th Edition Version 1.0411 Lee C. Adkins Professor of Economics Oklahoma State University April 7, 2014 1Visit http://www.LearnEconometrics.com/gretl.html for the latest version of this book. Also, check the errata (page 459) for changes since the last update. License Using gretl for Principles of Econometrics, 4th edition. Copyright c 2011 Lee C. Adkins. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation (see AppendixF for details). i Preface The previous edition of this manual was about using the software package called gretl to do various econometric tasks required in a typical two course undergraduate or masters level econo- metrics sequence. This version tries to do the same, but several enhancements have been made that will interest those teaching more advanced courses. I have come to appreciate the power and usefulness of gretl's powerful scripting language, now called hansl. Hansl is powerful enough to do some serious computing, but simple enough for novices to learn. In this version of the book, you will find more information about writing functions and using loops to obtain basic results. The programs have been generalized in many instances so that they could be adapted for other uses if desired. As I learn more about hansl specifically and programming in general, I will no doubt revise some of the code contained here. Stay tuned for further developments. As with the last edition, the book is written specifically to be used with a particular textbook, Principles of Econometrics, 4th edition (POE4 ) by Hill, Griffiths, and Lim.
    [Show full text]
  • Gretl Manual
    Gretl Manual Gnu Regression, Econometrics and Time-series Library Allin Cottrell Department of Economics Wake Forest University August, 2005 Gretl Manual: Gnu Regression, Econometrics and Time-series Library by Allin Cottrell Copyright © 2001–2005 Allin Cottrell Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation (see http://www.gnu.org/licenses/fdl.html). iii Table of Contents 1. Introduction........................................................................................................................................... 1 Features at a glance ......................................................................................................................... 1 Acknowledgements .......................................................................................................................... 1 Installing the programs................................................................................................................... 2 2. Getting started ...................................................................................................................................... 4 Let’s run a regression ...................................................................................................................... 4 Estimation output............................................................................................................................. 6 The
    [Show full text]