1 Introduction: Using a Python script to compile and plot data from Fortran modular program for Newton s method

Size: px
Start display at page:

Download "1 Introduction: Using a Python script to compile and plot data from Fortran modular program for Newton s method"

Transcription

1 1 Introduction: Using a Python script to compile and plot data from Fortran modular program for Newton s method This week s assignment for AMS209 involves using a Python script that can compile a Fortran modular program and plot data from multiple input values within one run/implementation. We are using Fortran scripts that we originally explored in a previous AMS209 homework. These F90 files will be contained in a different directory from the Python script. For instance, here is a directory structure: hw6/ newton rootfinder/ RootFinder.F90 findrootmethod module.f90 makefile read initfile module.f90 definition.h ftn module.f90 output module.f90 setup module.f90 (excluding rootfinder.init) - our Python script will make this pyrun/ pyrun rootfinder.py 2 Overview of Python script Brief-ish explanation of my python script. Can be run in terminal with $ python pyrun rootfinder.py after importing os, numpy, matplotlib, copyfile, and glob. My python functions are within a for-loop that allows one run/execution for multiple threshold values or multiple initial guess values. Value(s) for threshold and initial guess are stored inside a python list. 1

2 Functions to implement are in order: 1. boldruntimeparameters init(outputname, searchmethod, x beg, x end, max iter, threshold, ftn type, init guess, multiplicity) This function creates a.init file from which the Fortran scripts will read input parameters. These can be assigned as string variables within the pyrun rootfinder.py, which are also arguments in this function. If a previous *.init file exists, then the script will make a copy of the previous file into *init.1. This copy script will also increment for multiple copies (i.e. *.init.1 becomes *.init.2 and so on and so forth). 2. make make(path) This function can compile the Fortran codes and create an executable if.exe does not exist yet. There is also an option to simply execute the command $ make clean; and then $ make; in order to compile the Fortran code. 3. run rootfinder(path) My simplest function here. It simply executes the exe file via os.system (i.e. $./rootfinder.exe). If there is no.exe file to execute, then it will print an error message prompting the user to compile the Fortran codes. 4. plot data(plotfilename, ftn type, threshold) Plots Newton method root-solutions versus iterations and also plots Newton method root-solution residuals versus iterations. This uses matplotlib.pyplot to plot values read from the Fortran outputted *.dat file. I also used string manipulation to save figures as.png files containing pertinent information such as threshold value, function type, and initial guess. The figures will also display on the screen (interactive=false, plot.show(block=false)) and I also included a command for the.png files to open on Preview on Mac.Additionally, if a previous.dat file exists, then the script will make a copy of the previous file into *init.1. This copy script will also increment for multiple copies (i.e. *.dat.1 becomes *.dat.2 and so on and so forth). 3 Choosing a test function I used the following test function (equation 1) which is also the original ftn type=1 in ftn module.f90: Its derivative (equation 2) is also found in 2

3 ftn module.f90. f(x) = x + e x + 10 (1 + x 2 ) 5 (1) f (x) = 1 + e x 20x (1 + x 2 ) 2 (2) I picked equation (1) as the test function because tit contains a local minima at x = 1.16 (see Fig.1) thus making it difficult/impossible to solve a root using Newton s method when using an initial guess greater than the local minima. I wanted to see how the program with such a function. Based on Fig.1, the equation should also have a root approximately equal to Figure 1: Plot of the test function to guess for approximate root 3

4 4 Implementing the Python script to find the root of the test function using Newton s method I executed in the Terminal shell using command $ python pyrun rootfinder.py In one run, I was able to test different initial guess values and different threshold values. This was done by inputting the values into a list and using a for-loop to iterate through the entries in that list. I chose my best initial guess (init guess = -2) because it was close enough to the estimated root (-0.9) but still required >5 iterations to reach a solution. Interestingly I seem to get the same result within the same number of iterations for thresholds 1e-8, 1e-6, and even 1e-4. All three threshold values go through 6 iterations to find a root of x = (see Figures 2-4). Identical results for all three threshold values also means that the 5th iteration has a residual > 1e-4, while jumping to the 6th iteration immediately results in a residual < 1e-16. Figure 2: The most stringent threshold needs 6 iterations to reach approximate root x =

5 Figure 3: Less stringent threshold 1e-6 still reaches same approximate root in the same number of iterations as 1e-8 Figure 4: Even least stringent threshold = 1e-4 yields identical results as threshold = 1e-6 and 1e-8 in the same number of iterations 5 Using a different initial guess I had chosen a different initial guess that was 10x the original. Additionally, I found that it gave me different-looking enough results and still minimize any adjustment for the y-scale. I wanted to keep the y-scale as small as possible for all plots in order to detect subtle differences. For an initial guess further from the root (init guess = -20), it takes longer (16 iterations) to reach a slightly different approximate root of x = The difference from the previously calculated root (x = using init guess = -2) is approximately 1.1e-16. This is an artifact of the approximation since the lowest threshold value is 1e-8. (see Figure 5). Additionally, less stringent threshold values can either lead to the same result as threshold = 1e-8 such as with threshold = 1e-6 (see Figure 6), or can lead to Newton s method stopping in less iterations (15 iterations instead of 16) such as with threshold = 1e-4 (see Figure 7). In 15 iterations, the estimated root is x= , which has a e-10 difference from the more stringent thresholds. 5

6 Figure 5: An initial guess of -20 needs 16 iterations to reach a slightly different root of x = Figure 6: Less stringent threshold 1e-6 still reaches same approximate root in the same number of iterations as 1e-8 Figure 7: However least stringent threshold = 1e-4 stops at 15 iterations to approximate a root of x=

7 6 Conclusions about Newton s method Furthermore, comparing the plots from the 2 different initial guesses yields slightly different behaviors, even though both converge towards similar roots. For instance, for the iterations 4 steps before from the last iteration (the 5th last iteration?), the initial guess = -2, gives a calculated root slightly less than the final estimated root. In contrast, the initial guess = -20, gives a calculated root slightly higher than the final estimated root in the similar iterative position (4 iterations before the last). The two initial guesses also appear more divergent 5 iterations before their respective last iteration. This demonstrates how the Newton method can converge towards a similar root even with varying initial guesses. Figure 8: Initial guess =-2. The iteration 4 steps before the last has a result slightly less than the final iteration. Iterative solutions are mostly flat. Figure 9: Initial guess =-20. The iteration 4 steps before the last has a result slightly higher than the final iteration. Iterative solutions tend decrease towards the final result. By: G.Carlo Parico, written for AMS209 HW6 7

This document describes how I implement the Newton method using Python and Fortran on the test function f(x) = (x 1) log 10 (x).

This document describes how I implement the Newton method using Python and Fortran on the test function f(x) = (x 1) log 10 (x). AMS 209 Foundations of Scientific Computing Homework 6 November 23, 2015 Cheng-Han Yu This document describes how I implement the Newton method using Python and Fortran on the test function f(x) = (x 1)

More information

AMS209 Final Project: Linear Equations System Solver

AMS209 Final Project: Linear Equations System Solver AMS209 Final Project: Linear Equations System Solver Rene Gutierrez Marquez 1 UCSC 1 December 7, 2016 Abstract In this project an implementation of a solver of a system of linear equations is implemented.

More information

Project Report. 1 Abstract. 2 Algorithms. 2.1 Gaussian elimination without partial pivoting. 2.2 Gaussian elimination with partial pivoting

Project Report. 1 Abstract. 2 Algorithms. 2.1 Gaussian elimination without partial pivoting. 2.2 Gaussian elimination with partial pivoting Project Report Bernardo A. Gonzalez Torres beaugonz@ucsc.edu Abstract The final term project consist of two parts: a Fortran implementation of a linear algebra solver and a Python implementation of a run

More information

mpl Release latest May 17, 2017

mpl Release latest May 17, 2017 mpl a nimationmanagerdocumentation Release latest May 17, 2017 Contents 1 NOTE: Documentation is curently in development!!! 1 1.1 Matplotlib animation manager (GUI) 1.0a1...............................

More information

Today s class. Roots of equation Finish up incremental search Open methods. Numerical Methods, Fall 2011 Lecture 5. Prof. Jinbo Bi CSE, UConn

Today s class. Roots of equation Finish up incremental search Open methods. Numerical Methods, Fall 2011 Lecture 5. Prof. Jinbo Bi CSE, UConn Today s class Roots of equation Finish up incremental search Open methods 1 False Position Method Although the interval [a,b] where the root becomes iteratively closer with the false position method, unlike

More information

callback, iterators, and generators

callback, iterators, and generators callback, iterators, and generators 1 Adding a Callback Function a function for Newton s method a function of the user to process results 2 A Newton Iterator defining a counter class refactoring the Newton

More information

AMS209 Final Project

AMS209 Final Project AMS209 Final Project Xingchen Yu Department of Applied Mathematics and Statistics, University of California, Santa Cruz November 2015 1 Abstract In the project, we explore LU decomposition with or without

More information

An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s.

An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s. Using Monte Carlo to Estimate π using Buffon s Needle Problem An interesting related problem is Buffon s Needle which was first proposed in the mid-1700 s. Here s the problem (in a simplified form). Suppose

More information

A Programming Project for the Application of Newton s Method

A Programming Project for the Application of Newton s Method A Programming Project for the Application of Newton s Method Programmed by two sections of the course Programming with C++ January 2005 Abstract. Newton s method is implemented in a code called newton.

More information

What Secret the Bisection Method Hides? by Namir Clement Shammas

What Secret the Bisection Method Hides? by Namir Clement Shammas What Secret the Bisection Method Hides? 1 What Secret the Bisection Method Hides? by Namir Clement Shammas Introduction Over the past few years I have modified the simple root-seeking Bisection Method

More information

Intermediate/Advanced Python. Michael Weinstein (Day 2)

Intermediate/Advanced Python. Michael Weinstein (Day 2) Intermediate/Advanced Python Michael Weinstein (Day 2) Topics Review of basic data structures Accessing and working with objects in python Numpy How python actually stores data in memory Why numpy can

More information

KNIME Python Integration Installation Guide. KNIME AG, Zurich, Switzerland Version 3.7 (last updated on )

KNIME Python Integration Installation Guide. KNIME AG, Zurich, Switzerland Version 3.7 (last updated on ) KNIME Python Integration Installation Guide KNIME AG, Zurich, Switzerland Version 3.7 (last updated on 2019-02-05) Table of Contents Introduction.....................................................................

More information

ENGR 102 Engineering Lab I - Computation

ENGR 102 Engineering Lab I - Computation ENGR 102 Engineering Lab I - Computation Learning Objectives by Week 1 ENGR 102 Engineering Lab I Computation 2 Credits 2. Introduction to the design and development of computer applications for engineers;

More information

Online Algorithm Comparison points

Online Algorithm Comparison points CS446: Machine Learning Spring 2017 Problem Set 3 Handed Out: February 15 th, 2017 Due: February 27 th, 2017 Feel free to talk to other members of the class in doing the homework. I am more concerned that

More information

Modern Robots: Evolutionary Robotics

Modern Robots: Evolutionary Robotics Modern Robots: Evolutionary Robotics Programming Assignment 1 of 10 Overview In the field of evolutionary robotics an evolutionary algorithm is used to automatically optimize robots so that they perform

More information

1. Practice the use of the C ++ repetition constructs of for, while, and do-while. 2. Use computer-generated random numbers.

1. Practice the use of the C ++ repetition constructs of for, while, and do-while. 2. Use computer-generated random numbers. 1 Purpose This lab illustrates the use of looping structures by introducing a class of programming problems called numerical algorithms. 1. Practice the use of the C ++ repetition constructs of for, while,

More information

Newton and Quasi-Newton Methods

Newton and Quasi-Newton Methods Lab 17 Newton and Quasi-Newton Methods Lab Objective: Newton s method is generally useful because of its fast convergence properties. However, Newton s method requires the explicit calculation of the second

More information

The Fly & Anti-Fly Missile

The Fly & Anti-Fly Missile The Fly & Anti-Fly Missile Rick Tilley Florida State University (USA) rt05c@my.fsu.edu Abstract Linear Regression with Gradient Descent are used in many machine learning applications. The algorithms are

More information

MS6021 Scientific Computing. TOPICS: Python BASICS, INTRO to PYTHON for Scientific Computing

MS6021 Scientific Computing. TOPICS: Python BASICS, INTRO to PYTHON for Scientific Computing MS6021 Scientific Computing TOPICS: Python BASICS, INTRO to PYTHON for Scientific Computing Preliminary Notes on Python (v MatLab + other languages) When you enter Spyder (available on installing Anaconda),

More information

Molecular Statistics Exercise 1. As was shown to you this morning, the interactive python shell can add, subtract, multiply and divide numbers.

Molecular Statistics Exercise 1. As was shown to you this morning, the interactive python shell can add, subtract, multiply and divide numbers. Molecular Statistics Exercise 1 Introduction This is the first exercise in the course Molecular Statistics. The exercises in this course are split in two parts. The first part of each exercise is a general

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG 1 Notice Class Website http://www.cs.umb.edu/~jane/cs114/ Reading Assignment Chapter 1: Introduction to Java Programming

More information

HMC CS 158, Fall 2017 Problem Set 3 Programming: Regularized Polynomial Regression

HMC CS 158, Fall 2017 Problem Set 3 Programming: Regularized Polynomial Regression HMC CS 158, Fall 2017 Problem Set 3 Programming: Regularized Polynomial Regression Goals: To open up the black-box of scikit-learn and implement regression models. To investigate how adding polynomial

More information

Tutorial Four: Linear Regression

Tutorial Four: Linear Regression Tutorial Four: Linear Regression Imad Pasha Chris Agostino February 25, 2015 1 Introduction When looking at the results of experiments, it is critically important to be able to fit curves to scattered

More information

Math 3316, Fall 2016 Due Nov. 3, 2016

Math 3316, Fall 2016 Due Nov. 3, 2016 Math 3316, Fall 2016 Due Nov. 3, 2016 Project 3 Polynomial Interpolation The first two sections of this project will be checked in lab the week of Oct. 24-26 this completion grade will count for 10% of

More information

Introduction to Python Part 2

Introduction to Python Part 2 Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules

More information

10.4 Linear interpolation method Newton s method

10.4 Linear interpolation method Newton s method 10.4 Linear interpolation method The next best thing one can do is the linear interpolation method, also known as the double false position method. This method works similarly to the bisection method by

More information

Write an iterative real-space Poisson solver in Python/C

Write an iterative real-space Poisson solver in Python/C Write an iterative real-space Poisson solver in Python/C Ask Hjorth Larsen asklarsen@gmail.com October 10, 2018 The Poisson equation is 2 φ(r) = ρ(r). (1) This is a second-order linear dierential equation

More information

Iterative Methods for Solving Linear Problems

Iterative Methods for Solving Linear Problems Iterative Methods for Solving Linear Problems When problems become too large (too many data points, too many model parameters), SVD and related approaches become impractical. Iterative Methods for Solving

More information

Maximizing an interpolating quadratic

Maximizing an interpolating quadratic Week 11: Monday, Apr 9 Maximizing an interpolating quadratic Suppose that a function f is evaluated on a reasonably fine, uniform mesh {x i } n i=0 with spacing h = x i+1 x i. How can we find any local

More information

CVEN 302. Computer Applications in Engineering and Construction. Dr. Tony Cahill Environmental and Water Resources Division

CVEN 302. Computer Applications in Engineering and Construction. Dr. Tony Cahill Environmental and Water Resources Division CVEN 302 Computer Applications in Engineering and Construction Dr. Tony Cahill Environmental and Water Resources Division Instructors Instructor: Tony Cahill Office: WERC 205J Office Hours: T/R 3:00 4:00PM.

More information

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline: AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

Chapter 3 Limits and Derivative Concepts

Chapter 3 Limits and Derivative Concepts Chapter 3 Limits and Derivative Concepts 1. Average Rate of Change 2. Using Tables to Investigate Limits 3. Symbolic Limits and the Derivative Definition 4. Graphical Derivatives 5. Numerical Derivatives

More information

The Bisection Method versus Newton s Method in Maple (Classic Version for Windows)

The Bisection Method versus Newton s Method in Maple (Classic Version for Windows) The Bisection Method versus (Classic Version for Windows) Author: Barbara Forrest Contact: baforres@uwaterloo.ca Copyrighted/NOT FOR RESALE version 1.1 Contents 1 Objectives for this Lab i 2 Approximate

More information

I. Function Characteristics

I. Function Characteristics I. Function Characteristics Interval of possible x values for a given function. (Left,Right) Interval of possible y values for a given function. (down, up) What is happening at the far ends of the graph?

More information

AMath 483/583 Lecture 2

AMath 483/583 Lecture 2 AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

PHCpack, phcpy, and Sphinx

PHCpack, phcpy, and Sphinx PHCpack, phcpy, and Sphinx 1 the software PHCpack a package for Polynomial Homotopy Continuation polyhedral homotopies the Python interface phcpy 2 Documenting Software with Sphinx Sphinx generates documentation

More information

Constrained Optimization with Calculus. Background Three Big Problems Setup and Vocabulary

Constrained Optimization with Calculus. Background Three Big Problems Setup and Vocabulary Constrained Optimization with Calculus Background Three Big Problems Setup and Vocabulary Background Information In unit 3, you learned about linear programming, in which all constraints and the objective

More information

Teaching Engineering Analysis Using VBA for Excel. Abstract. Introduction

Teaching Engineering Analysis Using VBA for Excel. Abstract. Introduction Teaching Engineering Analysis Using VBA for Excel Terrence L. Chambers Department of Mechanical Engineering University of Louisiana at Lafayette PO Box 44170 Lafayette, LA 70504-4170 (337) 482-6731 (337)

More information

Approximating Square Roots

Approximating Square Roots Math 560 Fall 04 Approximating Square Roots Dallas Foster University of Utah u0809485 December 04 The history of approximating square roots is one of the oldest examples of numerical approximations found.

More information

Computer Lab 1: Introduction to Python

Computer Lab 1: Introduction to Python Computer Lab 1: Introduction to Python 1 I. Introduction Python is a programming language that is fairly easy to use. We will use Python for a few computer labs, beginning with this 9irst introduction.

More information

ITERATION AND RECURSION 3

ITERATION AND RECURSION 3 ITERATION AND RECURSION 3 COMPUTER SCIENCE 61A June 26, 2012 1 Newton s Method Newton s method is an algorithm that is widely used to compute the zeros of functions. It can be used to approximate a root

More information

MS6021 Scientific Computing. MatLab and Python for Mathematical Modelling. Aimed at the absolute beginner.

MS6021 Scientific Computing. MatLab and Python for Mathematical Modelling. Aimed at the absolute beginner. MS6021 Scientific Computing MatLab and Python for Mathematical Modelling. Aimed at the absolute beginner. Natalia Kopteva Email: natalia.kopteva@ul.ie Web: http://www.staff.ul.ie/natalia/ Room: B2037 Office

More information

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History. Topics Operating System I What is an OS? OS History OS Concepts OS Structures Introduction Let s Get Started! What is an Operating System? What are some OSes you know? Pick an OS you know: What are some

More information

Introduction to Python

Introduction to Python Introduction to Python Ryan Gutenkunst Molecular and Cellular Biology University of Arizona Before we start, fire up your Amazon instance, open a terminal, and enter the command sudo apt-get install ipython

More information

ME 121 MATLAB Lesson 01 Introduction to MATLAB

ME 121 MATLAB Lesson 01 Introduction to MATLAB 1 ME 121 MATLAB Lesson 01 Introduction to MATLAB Learning Objectives Be able run MATLAB in the MCECS computer labs Be able to perform simple interactive calculations Be able to open and view an m-file

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Aapo Nummenmaa, PhD Athinoula A. Martinos Center for Biomedical Imaging, Massachusetts General Hospital, Harvard Medical School, Boston Background Overview! What is MATLAB?! MATLAB=(MATrix

More information

Polynomial Functions Graphing Investigation Unit 3 Part B Day 1. Graph 1: y = (x 1) Graph 2: y = (x 1)(x + 2) Graph 3: y =(x 1)(x + 2)(x 3)

Polynomial Functions Graphing Investigation Unit 3 Part B Day 1. Graph 1: y = (x 1) Graph 2: y = (x 1)(x + 2) Graph 3: y =(x 1)(x + 2)(x 3) Part I: Polynomial Functions when a = 1 Directions: Polynomial Functions Graphing Investigation Unit 3 Part B Day 1 1. For each set of factors, graph the zeros first, then use your calculator to determine

More information

ERTH3021 Exploration and Mining Geophysics

ERTH3021 Exploration and Mining Geophysics ERTH3021 Exploration and Mining Geophysics Practical 1: Introduction to Scientific Programming using Python Purposes To introduce simple programming skills using the popular Python language. To provide

More information

Predicting Bus Arrivals Using One Bus Away Real-Time Data

Predicting Bus Arrivals Using One Bus Away Real-Time Data Predicting Bus Arrivals Using One Bus Away Real-Time Data 1 2 3 4 5 Catherine M. Baker Alexander C. Nied Department of Computer Science Department of Computer Science University of Washington University

More information

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we? Topics Operating System What is an OS? OS History OS Concepts OS Structures Introduction Let s Get Started! What is an Operating System? What are some OSes you know? Guess if you are not sure Pick an OS

More information

ERTH2020 Introduction to Geophysics

ERTH2020 Introduction to Geophysics ERTH2020 Practical:: Introduction to Python Page 1 ERTH2020 Introduction to Geophysics 2018 Practical 1: Introduction to scientific programming using Python, and revision of basic mathematics Purposes

More information

Research Report AI A Numerical Equation Solver in Prolog Michael A. Covington Artificial Intelligence Programs The University of Georgia

Research Report AI A Numerical Equation Solver in Prolog Michael A. Covington Artificial Intelligence Programs The University of Georgia Research Report AI 1989 02 A Numerical Equation Solver in Prolog Michael A. Covington Artificial Intelligence Programs The University of Georgia Athens, Georgia 30602 U.S.A. A Numerical Equation Solver

More information

C+X. Complex Arithmetic Toolkit. Introduction

C+X. Complex Arithmetic Toolkit. Introduction C+X Introduction Complex Arithmetic Toolkit by Thomas E. Kurtz Co-inventor of BASIC This toolkit allows you to write True BASIC programs in the usual way except that certain numeric variables and arrays

More information

LINEARIZATION, NEWTON S METHOD BACKGROUND PREPARATIONS

LINEARIZATION, NEWTON S METHOD BACKGROUND PREPARATIONS LINEARIZATION, NEWTON S METHOD COMPUTER SESSION D3 BACKGROUND Question 1 PREPARATIONS The session is divided into two parts. The first part involves experimenting in the Mathematics Laboratory and the

More information

Homework 2: Search and Optimization

Homework 2: Search and Optimization Scott Chow ROB 537: Learning Based Control October 16, 2017 Homework 2: Search and Optimization 1 Introduction The Traveling Salesman Problem is a well-explored problem that has been shown to be NP-Complete.

More information

1 2 (3 + x 3) x 2 = 1 3 (3 + x 1 2x 3 ) 1. 3 ( 1 x 2) (3 + x(0) 3 ) = 1 2 (3 + 0) = 3. 2 (3 + x(0) 1 2x (0) ( ) = 1 ( 1 x(0) 2 ) = 1 3 ) = 1 3

1 2 (3 + x 3) x 2 = 1 3 (3 + x 1 2x 3 ) 1. 3 ( 1 x 2) (3 + x(0) 3 ) = 1 2 (3 + 0) = 3. 2 (3 + x(0) 1 2x (0) ( ) = 1 ( 1 x(0) 2 ) = 1 3 ) = 1 3 6 Iterative Solvers Lab Objective: Many real-world problems of the form Ax = b have tens of thousands of parameters Solving such systems with Gaussian elimination or matrix factorizations could require

More information

Day 15: Science Code in Python

Day 15: Science Code in Python Day 15: Science Code in Python 1 Turn In Homework 2 Homework Review 3 Science Code in Python? 4 Custom Code vs. Off-the-Shelf Trade-offs Costs (your time vs. your $$$) Your time (coding vs. learning) Control

More information

Introduction to Linux Spring 2014, Section 02, Lecture 3 Jason Tang

Introduction to Linux Spring 2014, Section 02, Lecture 3 Jason Tang Introduction to Linux Spring 2014, Section 02, Lecture 3 Jason Tang Topics What is an Operating System Overview of Linux Linux commands Shell Submit system What is an Operating System? Special type of

More information

The Python interpreter

The Python interpreter The Python interpreter Daniel Winklehner, Remi Lehe US Particle Accelerator School (USPAS) Summer Session Self-Consistent Simulations of Beam and Plasma Systems S. M. Lund, J.-L. Vay, D. Bruhwiler, R.

More information

Python Scripting for Computational Science

Python Scripting for Computational Science Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1

More information

A First Course on Kinetics and Reaction Engineering Example S4.5

A First Course on Kinetics and Reaction Engineering Example S4.5 Example S4.5 Problem Purpose The purpose of this example is to illustrate how to use the MATLAB template file FitNumDifMR.m to perform a regression analysis for multiple response data with a model that

More information

User-Defined Function

User-Defined Function ENGR 102-213 (Socolofsky) Week 11 Python scripts In the lecture this week, we are continuing to learn powerful things that can be done with userdefined functions. In several of the examples, we consider

More information

Python for Astronomers. Week 1- Basic Python

Python for Astronomers. Week 1- Basic Python Python for Astronomers Week 1- Basic Python UNIX UNIX is the operating system of Linux (and in fact Mac). It comprises primarily of a certain type of file-system which you can interact with via the terminal

More information

Math 230 Final Exam December 22, 2015

Math 230 Final Exam December 22, 2015 Math 230 Final Exam December 22, 2015 General Directions. This is an open- book, open- notes, open- computer test. However, you may not communicate with any person, except me, during the test. You have

More information

Scientific Computing: Lecture 1

Scientific Computing: Lecture 1 Scientific Computing: Lecture 1 Introduction to course, syllabus, software Getting started Enthought Canopy, TextWrangler editor, python environment, ipython, unix shell Data structures in Python Integers,

More information

turning expressions into functions symbolic substitution, series, and lambdify

turning expressions into functions symbolic substitution, series, and lambdify Defining Functions 1 Lambda Functions turning expressions into functions symbolic substitution, series, and lambdify 2 Functions and Modules writing a function definition defining and using modules where

More information

Maximum flow problem CE 377K. March 3, 2015

Maximum flow problem CE 377K. March 3, 2015 Maximum flow problem CE 377K March 3, 2015 Informal evaluation results 2 slow, 16 OK, 2 fast Most unclear topics: max-flow/min-cut, WHAT WILL BE ON THE MIDTERM? Most helpful things: review at start of

More information

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Scripts and Functions: examples lesson 9 2012/04/16 Prof. Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Agenda Examples Bisection method Locating roots Secant methods

More information

LECTURE 22. Numerical and Scientific Computing Part 2

LECTURE 22. Numerical and Scientific Computing Part 2 LECTURE 22 Numerical and Scientific Computing Part 2 MATPLOTLIB We re going to continue our discussion of scientific computing with matplotlib. Matplotlib is an incredibly powerful (and beautiful!) 2-D

More information

MATH 2650/ Intro to Scientific Computation - Fall Lab 1: Starting with MATLAB. Script Files

MATH 2650/ Intro to Scientific Computation - Fall Lab 1: Starting with MATLAB. Script Files MATH 2650/3670 - Intro to Scientific Computation - Fall 2017 Lab 1: Starting with MATLAB. Script Files Content - Overview of Course Objectives - Use of MATLAB windows; the Command Window - Arithmetic operations

More information

Instruction Manual: Relaxation Algorithm

Instruction Manual: Relaxation Algorithm Instruction Manual: Relaxation Algorithm Supplement to Trimborn, Koch and Steger (2008) Version 3.1 Timo Trimborn June 2008 1 Introduction This instruction describes how to simulate the transition process

More information

Reals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.

Reals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be

More information

Miroslav Kohout. STR-module for Avizo. User s Guide. Springer

Miroslav Kohout. STR-module for Avizo. User s Guide. Springer Miroslav Kohout STR-module for Avizo User s Guide Springer Contents 1 Visualization with the STR module for Avizo...................... 1 1.1 Avizo module installation....................................

More information

Orbital Integrator System Manual

Orbital Integrator System Manual Orbital Integrator System Manual Benjamin Sprague This manual is intended to describe the functionality of the orbital integrator system. Copyright c 2006 Benjamin Sprague Permission is granted to copy,

More information

PatternFinder is a tool that finds non-overlapping or overlapping patterns in any input sequence.

PatternFinder is a tool that finds non-overlapping or overlapping patterns in any input sequence. PatternFinder is a tool that finds non-overlapping or overlapping patterns in any input sequence. Pattern Finder Input Parameters: USAGE: PatternDetective.exe [ -help /? -f [filename] -min -max [minimum

More information

Students Guide. Requirements of your homework

Students Guide. Requirements of your homework Students Guide Requirements of your homework During the SQL labs you should create SQL scripts, which correspond to the SQL script skeleton provided. In the case of the SQL1 lab, you should also hand in

More information

Exercise sheet 1 To be corrected in tutorials in the week from 23/10/2017 to 27/10/2017

Exercise sheet 1 To be corrected in tutorials in the week from 23/10/2017 to 27/10/2017 Einführung in die Programmierung für Physiker WS 207/208 Marc Wagner Francesca Cuteri: cuteri@th.physik.uni-frankfurt.de Alessandro Sciarra: sciarra@th.physik.uni-frankfurt.de Exercise sheet To be corrected

More information

CSE 390a Lecture 1. introduction to Linux/Unix environment

CSE 390a Lecture 1. introduction to Linux/Unix environment 1 CSE 390a Lecture 1 introduction to Linux/Unix environment slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/390a/ 2 Lecture summary Course introduction

More information

RF Tutorial. Rhys Hawkins January This document gives a tutorial introduction to using the RF software.

RF Tutorial. Rhys Hawkins January This document gives a tutorial introduction to using the RF software. RF Tutorial Rhys Hawkins January 2014 1 Introduction This document gives a tutorial introduction to using the RF software. 2 The Tutorial Data The following files should exist in the data directory: RF

More information

Getting along and working together. Fortran-Python Interoperability Jacob Wilkins

Getting along and working together. Fortran-Python Interoperability Jacob Wilkins Getting along and working together Fortran-Python Interoperability Jacob Wilkins Fortran AND Python working together? Fortran-Python May 2017 2/19 Two very different philosophies Two very different code-styles

More information

Weights and Biases Documentation

Weights and Biases Documentation Weights and Biases Documentation Release 0.6.17 Weights and Biases Aug 13, 2018 Contents 1 Intro 1 2 Quickstart - Existing Project 3 3 Weights & Biases Run API 5 3.1 Saving run files..............................................

More information

Python Scripting for Computational Science

Python Scripting for Computational Science Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting

More information

Submitting your Work using GIT

Submitting your Work using GIT Submitting your Work using GIT You will be using the git distributed source control system in order to manage and submit your assignments. Why? allows you to take snapshots of your project at safe points

More information

ENGR (Socolofsky) Week 07 Python scripts

ENGR (Socolofsky) Week 07 Python scripts ENGR 102-213 (Socolofsky) Week 07 Python scripts A couple programming examples for this week are embedded in the lecture notes for Week 7. We repeat these here as brief examples of typical array-like operations

More information

Overview. Monte Carlo Methods. Statistics & Bayesian Inference Lecture 3. Situation At End Of Last Week

Overview. Monte Carlo Methods. Statistics & Bayesian Inference Lecture 3. Situation At End Of Last Week Statistics & Bayesian Inference Lecture 3 Joe Zuntz Overview Overview & Motivation Metropolis Hastings Monte Carlo Methods Importance sampling Direct sampling Gibbs sampling Monte-Carlo Markov Chains Emcee

More information

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for

More information

PARALLELIZATION OF THE NELDER-MEAD SIMPLEX ALGORITHM

PARALLELIZATION OF THE NELDER-MEAD SIMPLEX ALGORITHM PARALLELIZATION OF THE NELDER-MEAD SIMPLEX ALGORITHM Scott Wu Montgomery Blair High School Silver Spring, Maryland Paul Kienzle Center for Neutron Research, National Institute of Standards and Technology

More information

Project 1: Implementing a Shell

Project 1: Implementing a Shell Assigned: August 28, 2015, 12:20am Due: September 21, 2015, 11:59:59pm Project 1: Implementing a Shell Purpose The purpose of this project is to familiarize you with the mechanics of process control through

More information

Domain Decomposition: Computational Fluid Dynamics

Domain Decomposition: Computational Fluid Dynamics Domain Decomposition: Computational Fluid Dynamics December 0, 0 Introduction and Aims This exercise takes an example from one of the most common applications of HPC resources: Fluid Dynamics. We will

More information

Welcome to Bootcamp2015 s documentation!

Welcome to Bootcamp2015 s documentation! Welcome to Bootcamp2015 s documentation! This website (or pdf) will be home to some resources that will be useful for boot campers and instructors. Lecture notes and assignments for the econ course associated

More information

Using Jails in FreeNAS to set up Backblaze B2

Using Jails in FreeNAS to set up Backblaze B2 Using Jails in FreeNAS to set up Backblaze B2 A Jail can be thought of as a virtual machine within the FreeNAS system. It is an implementation of operating system-level virtualization. It allows users

More information

MATPLOTLIB. Python for computational science November 2012 CINECA.

MATPLOTLIB. Python for computational science November 2012 CINECA. MATPLOTLIB Python for computational science 19 21 November 2012 CINECA m.cestari@cineca.it Introduction (1) plotting the data gives us visual feedback in the working process Typical workflow: write a python

More information

pyeemd Documentation Release Perttu Luukko

pyeemd Documentation Release Perttu Luukko pyeemd Documentation Release 1.3.1 Perttu Luukko August 10, 2016 Contents 1 Contents: 3 1.1 Installing pyeemd............................................ 3 1.2 Tutorial..................................................

More information

EL2310 Scientific Programming

EL2310 Scientific Programming Lecture 4: Programming in Matlab Yasemin Bekiroglu (yaseminb@kth.se) Florian Pokorny(fpokorny@kth.se) Overview Overview Lecture 4: Programming in Matlab Wrap Up More on Scripts and Functions Wrap Up Last

More information

MontePython. Thejs Brinckmann, Deanna C. Hooper, Julien Lesgourgues. MontePython + CLASS Kavli workshop

MontePython. Thejs Brinckmann, Deanna C. Hooper, Julien Lesgourgues. MontePython + CLASS Kavli workshop MontePython Thejs Brinckmann, Deanna C. Hooper, Julien Lesgourgues MontePython + CLASS Kavli workshop Code developed by Audren, Brinckmann, Lesgourgues & many others Lecture, Cambridge, 12/09/18 Overview

More information

Course Outline - COMP150. Lectures and Labs

Course Outline - COMP150. Lectures and Labs Course Outline - COMP150 Lectures and Labs 1 The way of the program 1.1 The Python programming language 1.2 What is a program? 1.3 What is debugging? 1.4 Experimental debugging 1.5 Formal and natural languages

More information

Introduction to Linux

Introduction to Linux Introduction to Linux EECS 211 Martin Luessi April 14, 2010 Martin Luessi () Introduction to Linux April 14, 2010 1 / 14 Outline 1 Introduction 2 How to Get Started 3 Software Development under Linux 4

More information

ME 475 Modal Analysis and Optimization of a Tapered Beam

ME 475 Modal Analysis and Optimization of a Tapered Beam ME 475 Modal Analysis and Optimization of a Tapered Beam Objectives: To optimize the shape of a tapered beam to minimize the mass, while holding the first three natural frequencies above those of the baseline

More information

Introduction to ANSYS DesignXplorer

Introduction to ANSYS DesignXplorer Lecture 4 14. 5 Release Introduction to ANSYS DesignXplorer 1 2013 ANSYS, Inc. September 27, 2013 s are functions of different nature where the output parameters are described in terms of the input parameters

More information

Phys Techniques of Radio Astronomy Part 1: Python Programming

Phys Techniques of Radio Astronomy Part 1: Python Programming Phys 60441 Techniques of Radio Astronomy Part 1: Python Programming LECTURE 1 Tim O Brien Room 3.214 Alan Turing Building tim.obrien@manchester.ac.uk http://www.jb.man.ac.uk/~tob/python.html Assessment

More information