GNU Octave a High-Level Interactive Language for Numerical Computations Edition 3 for Octave Version 3.0.1 July 2007

Total Page:16

File Type:pdf, Size:1020Kb

GNU Octave a High-Level Interactive Language for Numerical Computations Edition 3 for Octave Version 3.0.1 July 2007 GNU Octave A high-level interactive language for numerical computations Edition 3 for Octave version 3.0.1 July 2007 John W. Eaton David Bateman Søren Hauberg Copyright c 1996, 1997, 1999, 2000, 2001, 2002, 2005, 2006, 2007 John W. Eaton. This is the third edition of the Octave documentation, and is consistent with version 3.0.1 of Octave. Permission is granted to make and distribute verbatim copies of this manual 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 con- ditions for verbatim copying, provided that the entire 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 lan- guage, 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, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301{1307, USA. i Table of Contents Preface :::::::::::::::::::::::::::::::::::::::::::::: 1 Acknowledgements :::::::::::::::::::::::::::::::::::::::::::::::::: 1 How You Can Contribute to Octave ::::::::::::::::::::::::::::::::: 4 Distribution ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 1 A Brief Introduction to Octave :::::::::::::::: 5 1.1 Running Octave:::::::::::::::::::::::::::::::::::::::::::::::: 5 1.2 Simple Examples ::::::::::::::::::::::::::::::::::::::::::::::: 5 1.2.1 Creating a Matrix ::::::::::::::::::::::::::::::::::::::::: 5 1.2.2 Matrix Arithmetic::::::::::::::::::::::::::::::::::::::::: 6 1.2.3 Solving Linear Equations :::::::::::::::::::::::::::::::::: 6 1.2.4 Integrating Differential Equations:::::::::::::::::::::::::: 6 1.2.5 Producing Graphical Output :::::::::::::::::::::::::::::: 7 1.2.6 Editing What You Have Typed :::::::::::::::::::::::::::: 7 1.2.7 Help and Documentation :::::::::::::::::::::::::::::::::: 7 1.3 Conventions:::::::::::::::::::::::::::::::::::::::::::::::::::: 8 1.3.1 Fonts ::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 1.3.2 Evaluation Notation ::::::::::::::::::::::::::::::::::::::: 8 1.3.3 Printing Notation ::::::::::::::::::::::::::::::::::::::::: 9 1.3.4 Error Messages :::::::::::::::::::::::::::::::::::::::::::: 9 1.3.5 Format of Descriptions :::::::::::::::::::::::::::::::::::: 9 1.3.5.1 A Sample Function Description ::::::::::::::::::::::: 9 1.3.5.2 A Sample Command Description :::::::::::::::::::: 10 1.3.5.3 A Sample Variable Description :::::::::::::::::::::: 10 2 Getting Started:::::::::::::::::::::::::::::::: 11 2.1 Invoking Octave from the Command Line ::::::::::::::::::::: 11 2.1.1 Command Line Options :::::::::::::::::::::::::::::::::: 11 2.1.2 Startup Files ::::::::::::::::::::::::::::::::::::::::::::: 14 2.2 Quitting Octave::::::::::::::::::::::::::::::::::::::::::::::: 14 2.3 Commands for Getting Help::::::::::::::::::::::::::::::::::: 15 2.4 Command Line Editing ::::::::::::::::::::::::::::::::::::::: 17 2.4.1 Cursor Motion ::::::::::::::::::::::::::::::::::::::::::: 17 2.4.2 Killing and Yanking :::::::::::::::::::::::::::::::::::::: 18 2.4.3 Commands For Changing Text ::::::::::::::::::::::::::: 18 2.4.4 Letting Readline Type For You ::::::::::::::::::::::::::: 19 2.4.5 Commands For Manipulating The History :::::::::::::::: 19 2.4.6 Customizing readline ::::::::::::::::::::::::::::::::::: 21 2.4.7 Customizing the Prompt ::::::::::::::::::::::::::::::::: 22 2.4.8 Diary and Echo Commands :::::::::::::::::::::::::::::: 23 2.5 How Octave Reports Errors ::::::::::::::::::::::::::::::::::: 24 2.6 Executable Octave Programs :::::::::::::::::::::::::::::::::: 25 2.7 Comments in Octave Programs :::::::::::::::::::::::::::::::: 26 ii GNU Octave 3 Data Types :::::::::::::::::::::::::::::::::::: 29 3.1 Built-in Data Types::::::::::::::::::::::::::::::::::::::::::: 29 3.1.1 Numeric Objects ::::::::::::::::::::::::::::::::::::::::: 30 3.1.2 Missing Data::::::::::::::::::::::::::::::::::::::::::::: 30 3.1.3 String Objects ::::::::::::::::::::::::::::::::::::::::::: 30 3.1.4 Data Structure Objects::::::::::::::::::::::::::::::::::: 31 3.1.5 Cell Array Objects ::::::::::::::::::::::::::::::::::::::: 31 3.2 User-defined Data Types :::::::::::::::::::::::::::::::::::::: 31 3.3 Object Sizes :::::::::::::::::::::::::::::::::::::::::::::::::: 31 4 Numeric Data Types :::::::::::::::::::::::::: 33 4.1 Matrices :::::::::::::::::::::::::::::::::::::::::::::::::::::: 34 4.1.1 Empty Matrices :::::::::::::::::::::::::::::::::::::::::: 36 4.2 Ranges ::::::::::::::::::::::::::::::::::::::::::::::::::::::: 37 4.3 Integer Data Types ::::::::::::::::::::::::::::::::::::::::::: 38 4.3.1 Integer Arithmetic ::::::::::::::::::::::::::::::::::::::: 39 4.4 Bit Manipulations::::::::::::::::::::::::::::::::::::::::::::: 40 4.5 Logical Values :::::::::::::::::::::::::::::::::::::::::::::::: 42 4.6 Predicates for Numeric Objects:::::::::::::::::::::::::::::::: 43 5 Strings:::::::::::::::::::::::::::::::::::::::::: 45 5.1 Creating Strings :::::::::::::::::::::::::::::::::::::::::::::: 46 5.2 Comparing Strings :::::::::::::::::::::::::::::::::::::::::::: 48 5.3 Manipulating Strings :::::::::::::::::::::::::::::::::::::::::: 49 5.4 String Conversions :::::::::::::::::::::::::::::::::::::::::::: 54 5.5 Character Class Functions::::::::::::::::::::::::::::::::::::: 57 6 Data Containers ::::::::::::::::::::::::::::::: 59 6.1 Data Structures ::::::::::::::::::::::::::::::::::::::::::::::: 59 6.1.1 Structure Arrays ::::::::::::::::::::::::::::::::::::::::: 61 6.1.2 Creating Structures :::::::::::::::::::::::::::::::::::::: 63 6.1.3 Manipulating Structures:::::::::::::::::::::::::::::::::: 65 6.1.4 Processing Data in Structures :::::::::::::::::::::::::::: 66 6.2 Cell Arrays ::::::::::::::::::::::::::::::::::::::::::::::::::: 67 6.2.1 Creating Cell Array :::::::::::::::::::::::::::::::::::::: 68 6.2.2 Indexing Cell Arrays ::::::::::::::::::::::::::::::::::::: 69 6.2.3 Cell Arrays of Strings :::::::::::::::::::::::::::::::::::: 70 6.2.4 Processing Data in Cell Arrays ::::::::::::::::::::::::::: 71 6.3 Comma Separated Lists ::::::::::::::::::::::::::::::::::::::: 73 7 Variables ::::::::::::::::::::::::::::::::::::::: 75 7.1 Global Variables :::::::::::::::::::::::::::::::::::::::::::::: 75 7.2 Persistent Variables ::::::::::::::::::::::::::::::::::::::::::: 76 7.3 Status of Variables :::::::::::::::::::::::::::::::::::::::::::: 78 7.4 Summary of Built-in Variables :::::::::::::::::::::::::::::::: 82 7.5 Defaults from the Environment:::::::::::::::::::::::::::::::: 84 iii 8 Expressions :::::::::::::::::::::::::::::::::::: 87 8.1 Index Expressions ::::::::::::::::::::::::::::::::::::::::::::: 87 8.2 Calling Functions ::::::::::::::::::::::::::::::::::::::::::::: 89 8.2.1 Call by Value :::::::::::::::::::::::::::::::::::::::::::: 90 8.2.2 Recursion :::::::::::::::::::::::::::::::::::::::::::::::: 91 8.3 Arithmetic Operators ::::::::::::::::::::::::::::::::::::::::: 91 8.4 Comparison Operators :::::::::::::::::::::::::::::::::::::::: 93 8.5 Boolean Expressions :::::::::::::::::::::::::::::::::::::::::: 93 8.5.1 Element-by-element Boolean Operators ::::::::::::::::::: 94 8.5.2 Short-circuit Boolean Operators :::::::::::::::::::::::::: 94 8.6 Assignment Expressions ::::::::::::::::::::::::::::::::::::::: 96 8.7 Increment Operators :::::::::::::::::::::::::::::::::::::::::: 98 8.8 Operator Precedence :::::::::::::::::::::::::::::::::::::::::: 99 9 Evaluation :::::::::::::::::::::::::::::::::::: 101 9.1 Calling a Function by its Name :::::::::::::::::::::::::::::: 101 9.2 Evaluation in a Different Context :::::::::::::::::::::::::::: 103 10 Statements :::::::::::::::::::::::::::::::::: 105 10.1 The if Statement :::::::::::::::::::::::::::::::::::::::::: 105 10.2 The switch Statement :::::::::::::::::::::::::::::::::::::: 107 10.2.1 Notes for the C programmer ::::::::::::::::::::::::::: 108 10.3 The while Statement ::::::::::::::::::::::::::::::::::::::: 109 10.4 The do-until Statement ::::::::::::::::::::::::::::::::::: 110 10.5 The for Statement ::::::::::::::::::::::::::::::::::::::::: 110 10.5.1 Looping Over Structure Elements :::::::::::::::::::::: 111 10.6 The break Statement ::::::::::::::::::::::::::::::::::::::: 112 10.7 The continue Statement ::::::::::::::::::::::::::::::::::: 113 10.8 The unwind_protect Statement :::::::::::::::::::::::::::: 114 10.9 The try Statement ::::::::::::::::::::::::::::::::::::::::: 114 10.10 Continuation Lines :::::::::::::::::::::::::::::::::::::::: 115 11 Functions and Script Files ::::::::::::::::: 117 11.1 Defining Functions :::::::::::::::::::::::::::::::::::::::::: 117 11.2 Multiple Return Values ::::::::::::::::::::::::::::::::::::: 119 11.3 Variable-length Argument Lists ::::::::::::::::::::::::::::: 121 11.4 Variable-length Return Lists :::::::::::::::::::::::::::::::: 122 11.5 Returning From a Function ::::::::::::::::::::::::::::::::: 123 11.6 Default Arguments ::::::::::::::::::::::::::::::::::::::::: 124 11.7 Function Files :::::::::::::::::::::::::::::::::::::::::::::: 124 11.7.1 Manipulating the load path :::::::::::::::::::::::::::: 125 11.7.2 Subfunctions ::::::::::::::::::::::::::::::::::::::::::: 127 11.7.3 Overloading and Autoloading :::::::::::::::::::::::::: 127 11.7.4 Function Locking :::::::::::::::::::::::::::::::::::::: 128 11.8 Script Files ::::::::::::::::::::::::::::::::::::::::::::::::: 130 11.9 Function Handles, Inline Functions, and Anonymous Functions
Recommended publications
  • A Comparative Evaluation of Matlab, Octave, R, and Julia on Maya 1 Introduction
    A Comparative Evaluation of Matlab, Octave, R, and Julia on Maya Sai K. Popuri and Matthias K. Gobbert* Department of Mathematics and Statistics, University of Maryland, Baltimore County *Corresponding author: [email protected], www.umbc.edu/~gobbert Technical Report HPCF{2017{3, hpcf.umbc.edu > Publications Abstract Matlab is the most popular commercial package for numerical computations in mathematics, statistics, the sciences, engineering, and other fields. Octave is a freely available software used for numerical computing. R is a popular open source freely available software often used for statistical analysis and computing. Julia is a recent open source freely available high-level programming language with a sophisticated com- piler for high-performance numerical and statistical computing. They are all available to download on the Linux, Windows, and Mac OS X operating systems. We investigate whether the three freely available software are viable alternatives to Matlab for uses in research and teaching. We compare the results on part of the equipment of the cluster maya in the UMBC High Performance Computing Facility. The equipment has 72 nodes, each with two Intel E5-2650v2 Ivy Bridge (2.6 GHz, 20 MB cache) proces- sors with 8 cores per CPU, for a total of 16 cores per node. All nodes have 64 GB of main memory and are connected by a quad-data rate InfiniBand interconnect. The tests focused on usability lead us to conclude that Octave is the most compatible with Matlab, since it uses the same syntax and has the native capability of running m-files. R was hampered by somewhat different syntax or function names and some missing functions.
    [Show full text]
  • The 17-Tone Puzzle — and the Neo-Medieval Key That Unlocks It
    The 17-tone Puzzle — And the Neo-medieval Key That Unlocks It by George Secor A Grave Misunderstanding The 17 division of the octave has to be one of the most misunderstood alternative tuning systems available to the microtonal experimenter. In comparison with divisions such as 19, 22, and 31, it has two major advantages: not only are its fifths better in tune, but it is also more manageable, considering its very reasonable number of tones per octave. A third advantage becomes apparent immediately upon hearing diatonic melodies played in it, one note at a time: 17 is wonderful for melody, outshining both the twelve-tone equal temperament (12-ET) and the Pythagorean tuning in this respect. The most serious problem becomes apparent when we discover that diatonic harmony in this system sounds highly dissonant, considerably more so than is the case with either 12-ET or the Pythagorean tuning, on which we were hoping to improve. Without any further thought, most experimenters thus consign the 17-tone system to the discard pile, confident in the knowledge that there are, after all, much better alternatives available. My own thinking about 17 started in exactly this way. In 1976, having been a microtonal experimenter for thirteen years, I went on record, dismissing 17-ET in only a couple of sentences: The 17-tone equal temperament is of questionable harmonic utility. If you try it, I doubt you’ll stay with it for long.1 Since that time I have become aware of some things which have caused me to change my opinion completely.
    [Show full text]
  • GNU Readline Library
    GNU Readline Library Edition 2.1, for Readline Library Version 2.1. March 1996 Brian Fox, Free Software Foundation Chet Ramey, Case Western Reserve University This do cument describ es the GNU Readline Library, a utility which aids in the consistency of user interface across discrete programs that need to provide a command line interface. Published by the Free Software Foundation 675 Massachusetts Avenue, Cambridge, MA 02139 USA Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this p ermission notice are preserved on all copies. Permission is granted to copy and distribute mo di ed versions of this manual under the con- ditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a p ermission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the ab ove conditions for mo di ed versions, except that this p ermission notice may b e stated in a translation approved by the Foundation. c Copyright 1989, 1991 Free Software Foundation, Inc. Chapter 1: Command Line Editing 1 1 Command Line Editing This chapter describ es the basic features of the GNU command line editing interface. 1.1 Intro duction to Line Editing The following paragraphs describ e the notation used to representkeystrokes. i h i h C-k is read as `Control-K' and describ es the character pro duced when the k The text key is pressed while the Control key is depressed. h i The text M-k is read as `Meta-K' and describ es the character pro duced when the meta h i key if you have one is depressed, and the k key is pressed.
    [Show full text]
  • Fortran Resources 1
    Fortran Resources 1 Ian D Chivers Jane Sleightholme May 7, 2021 1The original basis for this document was Mike Metcalf’s Fortran Information File. The next input came from people on comp-fortran-90. Details of how to subscribe or browse this list can be found in this document. If you have any corrections, additions, suggestions etc to make please contact us and we will endeavor to include your comments in later versions. Thanks to all the people who have contributed. Revision history The most recent version can be found at https://www.fortranplus.co.uk/fortran-information/ and the files section of the comp-fortran-90 list. https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=comp-fortran-90 • May 2021. Major update to the Intel entry. Also changes to the editors and IDE section, the graphics section, and the parallel programming section. • October 2020. Added an entry for Nvidia to the compiler section. Nvidia has integrated the PGI compiler suite into their NVIDIA HPC SDK product. Nvidia are also contributing to the LLVM Flang project. Updated the ’Additional Compiler Information’ entry in the compiler section. The Polyhedron benchmarks discuss automatic parallelisation. The fortranplus entry covers the diagnostic capability of the Cray, gfortran, Intel, Nag, Oracle and Nvidia compilers. Updated one entry and removed three others from the software tools section. Added ’Fortran Discourse’ to the e-lists section. We have also made changes to the Latex style sheet. • September 2020. Added a computer arithmetic and IEEE formats section. • June 2020. Updated the compiler entry with details of standard conformance.
    [Show full text]
  • The Lost Harmonic Law of the Bible
    The Lost Harmonic Law of the Bible Jay Kappraff New Jersey Institute of Technology Newark, NJ 07102 Email: [email protected] Abstract The ethnomusicologist Ernest McClain has shown that metaphors based on the musical scale appear throughout the great sacred and philosophical works of the ancient world. This paper will present an introduction to McClain’s harmonic system and how it sheds light on the Old Testament. 1. Introduction Forty years ago the ethnomusicologist Ernest McClain began to study musical metaphors that appeared in the great sacred and philosophical works of the ancient world. These included the Rg Veda, the dialogues of Plato, and most recently, the Old and New Testaments. I have described his harmonic system and referred to many of his papers and books in my book, Beyond Measure (World Scientific; 2001). Apart from its value in providing new meaning to ancient texts, McClain’s harmonic analysis provides valuable insight into musical theory and mathematics both ancient and modern. 2. Musical Fundamentals Figure 1. Tone circle as a Single-wheeled Chariot of the Sun (Rg Veda) Figure 2. The piano has 88 keys spanning seven octaves and twelve musical fifths. The chromatic musical scale has twelve tones, or semitone intervals, which may be pictured on the face of a clock or along the zodiac referred to in the Rg Veda as the “Single-wheeled Chariot of the Sun.” shown in Fig. 1, with the fundamental tone placed atop the tone circle and associated in ancient sacred texts with “Deity.” The tones are denoted by the first seven letters of the alphabet augmented and diminished by and sharps ( ) and flats (b).
    [Show full text]
  • Version 7.8-Systemd
    Linux From Scratch Version 7.8-systemd Created by Gerard Beekmans Edited by Douglas R. Reno Linux From Scratch: Version 7.8-systemd by Created by Gerard Beekmans and Edited by Douglas R. Reno Copyright © 1999-2015 Gerard Beekmans Copyright © 1999-2015, Gerard Beekmans All rights reserved. This book is licensed under a Creative Commons License. Computer instructions may be extracted from the book under the MIT License. Linux® is a registered trademark of Linus Torvalds. Linux From Scratch - Version 7.8-systemd Table of Contents Preface .......................................................................................................................................................................... vii i. Foreword ............................................................................................................................................................. vii ii. Audience ............................................................................................................................................................ vii iii. LFS Target Architectures ................................................................................................................................ viii iv. LFS and Standards ............................................................................................................................................ ix v. Rationale for Packages in the Book .................................................................................................................... x vi. Prerequisites
    [Show full text]
  • Introduction to GNU Octave
    Introduction to GNU Octave Hubert Selhofer, revised by Marcel Oliver updated to current Octave version by Thomas L. Scofield 2008/08/16 line 1 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 8 6 4 2 -8 -6 0 -4 -2 -2 0 -4 2 4 -6 6 8 -8 Contents 1 Basics 2 1.1 What is Octave? ........................... 2 1.2 Help! . 2 1.3 Input conventions . 3 1.4 Variables and standard operations . 3 2 Vector and matrix operations 4 2.1 Vectors . 4 2.2 Matrices . 4 1 2.3 Basic matrix arithmetic . 5 2.4 Element-wise operations . 5 2.5 Indexing and slicing . 6 2.6 Solving linear systems of equations . 7 2.7 Inverses, decompositions, eigenvalues . 7 2.8 Testing for zero elements . 8 3 Control structures 8 3.1 Functions . 8 3.2 Global variables . 9 3.3 Loops . 9 3.4 Branching . 9 3.5 Functions of functions . 10 3.6 Efficiency considerations . 10 3.7 Input and output . 11 4 Graphics 11 4.1 2D graphics . 11 4.2 3D graphics: . 12 4.3 Commands for 2D and 3D graphics . 13 5 Exercises 13 5.1 Linear algebra . 13 5.2 Timing . 14 5.3 Stability functions of BDF-integrators . 14 5.4 3D plot . 15 5.5 Hilbert matrix . 15 5.6 Least square fit of a straight line . 16 5.7 Trapezoidal rule . 16 1 Basics 1.1 What is Octave? Octave is an interactive programming language specifically suited for vectoriz- able numerical calculations.
    [Show full text]
  • Lecture 1: Introduction to UNIX
    The Operating System Course Overview Getting Started Lecture 1: Introduction to UNIX CS2042 - UNIX Tools September 29, 2008 Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages Lecture Outline 1 The Operating System Description and History UNIX Flavors Advantages and Disadvantages 2 Course Overview Class Specifics 3 Getting Started Login Information Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages What is UNIX? One of the first widely-used operating systems Basis for many modern OSes Helped set the standard for multi-tasking, multi-user systems Strictly a teaching tool (in its original form) Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages A Brief History of UNIX Origins The first version of UNIX was created in 1969 by a group of guys working for AT&T's Bell Labs. It was one of the first big projects written in the emerging C language. It gained popularity throughout the '70s and '80s, although non-AT&T versions eventually took the lion's share of the market. Predates Microsoft's DOS by 12 years! Lecture 1: UNIX Intro The Operating System Description and History Course Overview UNIX Flavors Getting Started Advantages and Disadvantages Lecture Outline 1 The Operating System Description and History UNIX Flavors Advantages and Disadvantages 2 Course Overview Class Specifics 3
    [Show full text]
  • A Tutorial on Reliable Numerical Computation
    A tutorial on reliable numerical computation Paul Zimmermann Dagstuhl seminar 17481, Schloß Dagstuhl, November 2017 The IEEE 754 standard First version in 1985, first revision in 2008, another revision for 2018. Standard formats: binary32, binary64, binary128, decimal64, decimal128 Standard rounding modes (attributes): roundTowardPositive, roundTowardNegative, roundTowardZero, roundTiesToEven p Correct rounding: required for +; −; ×; ÷; ·, recommended for other mathematical functions (sin; exp; log; :::) 2 Different kinds of arithmetic in various languages fixed precision arbitrary precision real double (C) GNU MPFR (C) numbers RDF (Sage) RealField(p) (Sage) MPFI (C) Boost Interval (C++) RealIntervalField(p) (Sage) real INTLAB (Matlab, Octave) RealBallField(p) (Sage) intervals RIF (Sage) libieeep1788 (C++) RBF (Sage) Octave Interval (Octave) libieeep1788 is developed by Marco Nehmeier GNU Octave Interval is developed by Oliver Heimlich 3 An example from Siegfried Rump Reference: S.M. Rump. Gleitkommaarithmetik auf dem Prüfstand [Wie werden verifiziert(e) numerische Lösungen berechnet?]. Jahresbericht der Deutschen Mathematiker-Vereinigung, 118(3):179–226, 2016. a p(a; b) = 21b2 − 2a2 + 55b4 − 10a2b2 + 2b Evaluate p at a = 77617, b = 33096. 4 Rump’s polynomial in the C language #include <stdio.h> TYPE p (TYPE a, TYPE b) { TYPE a2 = a * a; TYPE b2 = b * b; return 21.0*b2 - 2.0*a2 + 55*b2*b2 - 10*a2*b2 + a/(2.0*b); } int main() { printf ("%.16Le\n", (long double) p (77617.0, 33096.0)); } 5 Rump’s polynomial in the C language: results $ gcc -DTYPE=float rump.c && ./a.out -4.3870930862080000e+12 $ gcc -DTYPE=double rump.c && ./a.out 1.1726039400531787e+00 $ gcc -DTYPE="long double" rump.c && ./a.out 1.1726039400531786e+00 $ gcc -DTYPE=__float128 rump.c && ./a.out -8.2739605994682137e-01 6 The MPFR library A reference implementation of IEEE 754 in (binary) arbitrary precision in the C language.
    [Show full text]
  • Installation Guide for the UNIX Versions
    Appendix A: Installation Guide for the UNIX Versions 1. Required tools. Compiling PARI requires an ANSI C or a C++ compiler. If you do not have one, we suggest that you obtain the gcc/g++ compiler. As for all GNU software mentioned afterwards, you can find the most convenient site to fetch gcc at the address http://www.gnu.org/order/ftp.html (On Mac OS X, this is also provided in the Xcode tool suite.) You can certainly compile PARI with a different compiler, but the PARI kernel takes advantage of optimizations provided by gcc. This results in at least 20% speedup on most architectures. Optional packages. The following programs and libraries are useful in conjunction with gp, but not mandatory. In any case, get them before proceeding if you want the functionalities they provide. All of them are free. • GNU MP library. This provides an alternative multiprecision kernel, which is faster than PARI's native one, but unfortunately binary incompatible. To enable detection of GMP, use Con- figure --with-gmp. You should really do this if you only intend to use GP, and probably also if you will use libpari unless you have backwards compatibility requirements. • GNU readline library. This provides line editing under GP, an automatic context-dependent completion, and an editable history of commands. Note that it is incompatible with SUN com- mandtools (yet another reason to dump Suntools for X Windows). • GNU gzip/gunzip/gzcat package enables GP to read compressed data. • GNU emacs. GP can be run in an Emacs buffer, with all the obvious advantages if you are familiar with this editor.
    [Show full text]
  • Debian GNU/Linux Installation Guide Debian GNU/Linux Installation Guide Copyright © 2004 – 2015 the Debian Installer Team
    Debian GNU/Linux Installation Guide Debian GNU/Linux Installation Guide Copyright © 2004 – 2015 the Debian Installer team This document contains installation instructions for the Debian GNU/Linux 8 system (codename “jessie”), for the 32-bit soft-float ARM (“armel”) architecture. It also contains pointers to more information and information on how to make the most of your new Debian system. Note: Although this installation guide for armel is mostly up-to-date, we plan to make some changes and reorganize parts of the manual after the official release of jessie. A newer version of this manual may be found on the Internet at the debian-installer home page (http://www.debian.org/devel/debian-installer/). You may also be able to find additional translations there. This manual is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License. Please refer to the license in Appendix F. Table of Contents Installing Debian GNU/Linux 8 For armel......................................................................................ix 1. Welcome to Debian .........................................................................................................................1 1.1. What is Debian? ...................................................................................................................1 1.2. What is GNU/Linux? ...........................................................................................................2 1.3. What is Debian GNU/Linux?...............................................................................................3
    [Show full text]
  • $SPAD/Lsp Makefile
    $SPAD/lsp Makefile The Axiom Team December 3, 2016 Abstract 1 Contents 1 The Makefile 3 2 Gnu Common Lisp 2.6.7 3 3 Gnu Common Lisp 2.6.7pre 3 3.1 run-process patch . 3 4 Gnu Common Lisp 2.6.6 3 4.1 run-process patch . 3 5 Gnu Common Lisp 2.6.5w 4 5.1 mingw.defs . 4 5.2 alloc.c . 4 5.3 mingfile.c . 4 5.4 unixfsys.c . 4 6 Gnu Common Lisp 2.6.5 5 6.1 gmp wrappers patch . 5 7 Gnu Common Lisp 2.5.2 5 7.0.1 socket patch . 5 7.0.2 read.d patch . 9 7.0.3 fortran patch . 9 7.0.4 libspad patch . 10 7.0.5 toploop patch . 12 7.0.6 object to float patch . 14 7.0.7 in-package patch . 15 7.0.8 EXIT and MAX STACK SIZE patchs . 15 7.0.9 tail-recursive patch . 16 7.0.10 collectfn fix . 17 7.1 The GCL-2.5.2 stanza . 21 7.1.1 Configure and Make GCL . 21 7.2 The GCL-2.6.1 stanza . 23 7.3 The GCL-2.6.2 stanza . 24 7.4 Directory move . 25 7.5 The GCL-2.6.2a stanza . 25 7.6 Directory move . 26 7.7 The GCL-2.6.3 stanza . 26 7.8 The GCL-2.6.5 stanza . 27 7.9 The GCL-2.6.5w stanza . 28 7.10 The GCL-2.6.6 stanza .
    [Show full text]