Alan Edelman Mathematics Computer Science & AI Laboratories June 9, 2014 Jeff Bezanson, Stefan Karpinski, Viral Shah and may collaborators worldwide Try.

Slides:



Advertisements
Similar presentations
The open source ecosystem for technical computing Alan Edelman Mathematics Computer Science & AI Laboratories May 15, 2014.
Advertisements

3D Geometry for Computer Graphics
Chapter 9 Approximating Eigenvalues
Lecture 11: Two-view geometry
EGR 141 Computer Problem Solving in Engineering and Computer Science
ACCELERATING GOOGLE’S PAGERANK Liz & Steve. Background  When a search query is entered in Google, the relevant results are returned to the user in an.
Floyd, Digital Fundamentals, 10 th ed EET 2259 Unit 10 Clusters and Matrices  Read Bishop, Sections 6.4 to  Lab #10 and Homework #10 due next week.
Zurich Julia Users Group Meetup Consultants – Meeting Room 2nd Floor 26th June 2014.
Eigenvalue and eigenvectors  A x = λ x  Quantum mechanics (Schrödinger equation)  Quantum chemistry  Principal component analysis (in data mining)
Lecture 17 Introduction to Eigenvalue Problems
Slides by Olga Sorkine, Tel Aviv University. 2 The plan today Singular Value Decomposition  Basic intuition  Formal definition  Applications.
3D Geometry for Computer Graphics
Chapter 4. Numerical Interpretation of Eigenvalues In terms of matrix arithmetic eigenvalues turn matrix multiplication into scalar multiplication. Numerically.
Reconfigurable Application Specific Computers RASCs Advanced Architectures with Multiple Processors and Field Programmable Gate Arrays FPGAs Computational.
3D Geometry for Computer Graphics
Lecture 18 Eigenvalue Problems II Shang-Hua Teng.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
ICNAAM, September 2008, Kos1 Numerical Analysis in the Digital Library of Mathematical Functions Dan Lozier Math and Computational Sciences Division National.
Dominant Eigenvalues & The Power Method
Alan Edelman, Jeff Bezanson Viral Shah, Stefan Karpinski Jeremy Kepner and the vibrant open-source community Computer Science & AI Laboratories Novel Algebras.
Today’s class Boundary Value Problems Eigenvalue Problems
Random Matrix Theory and Numerical Linear Algebra: A story of communication Alan Edelman Mathematics Computer Science & AI Labs ILAS Meeting June 3, 2013.
Fundamentals from Linear Algebra Ghan S. Bhatt and Ali Sekmen Mathematical Sciences and Computer Science College of Engineering Tennessee State University.
Introduction to MATLAB adapted from Dr. Rolf Lakaemper.
Introduction to Julia: Why are we doing this to you? (Fall 2015) Steven G. Johnson, MIT Applied Math MIT classes , 18.06, ,
SOFTWARE REUSE 28 March 2013 William W. McMillan.
Alan Edelman, Jeff Bezanson Viral Shah, Stefan Karpinski and the vibrant open-source community Computer Science & AI Laboratories
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
REVIEW: Separation of Variables. Fourier’s Theorem.
CS.UCSB.EDU U. C. S A N T A B A R B A R A C O M P U T E R S C I E N C E I want to be a Computer Scientist Why should I choose UCSB?
Alan Edelman Jeff Bezanson, Viral Shah, Stefan Karpinski and the vibrant community Computer Science & AI Laboratories.
Alan Edelman, Jeff Bezanson Viral Shah, Stefan Karpinski students in and the greater community Computer Science & AI Laboratories.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
Slide 1 The “New” matrix statistics of Random Matrix Theory and the Julia Programming Language Alan Edelman Mathematics Computer Science & AI Labs IMS/ASA.
Chapter 1: Brief Overview of MATLAB MATLAB for Scientist and Engineers Using Symbolic Toolbox.
University of Colorado Boulder ASEN 5070 Statistical Orbit determination I Fall 2012 Professor George H. Born Professor Jeffrey S. Parker Lecture 4: Coding.
Inquiry Refers to the diverse ways in which scientists study the natural world and propose explanations based on the evidence derived from their work.
Gerhard Klimeck High Performance Computing Group Software Development at Academia, Government Labs, Industry John Barker Agenda/Questions: How can the.
Singular Value Decomposition
Numerical Analysis – Eigenvalue and Eigenvector Hanyang University Jong-Il Park.
Python for: Data Science. Python  Python is an open source scripting language.  Developed by Guido Van Rossum in late 1980s  Named after Monty Python.
Linear Algebra Diyako Ghaderyan 1 Contents:  Linear Equations in Linear Algebra  Matrix Algebra  Determinants  Vector Spaces  Eigenvalues.
CIS 601 Fall 2003 Introduction to MATLAB Longin Jan Latecki Based on the lectures of Rolf Lakaemper and David Young.
Linear Algebra Diyako Ghaderyan 1 Contents:  Linear Equations in Linear Algebra  Matrix Algebra  Determinants  Vector Spaces  Eigenvalues.
3.4 Introduction to Eigenvalues
1. Systems of Linear Equations and Matrices (8 Lectures) 1.1 Introduction to Systems of Linear Equations 1.2 Gaussian Elimination 1.3 Matrices and Matrix.
Principal Component Analysis Zelin Jia Shengbin Lin 10/20/2015.
Jeff Howbert Introduction to Machine Learning Winter Machine Learning MATLAB Essentials.
Lecture Note 1 – Linear Algebra Shuaiqiang Wang Department of CS & IS University of Jyväskylä
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
Parallel Programming & Cluster Computing Linear Algebra Henry Neeman, University of Oklahoma Paul Gray, University of Northern Iowa SC08 Education Program’s.
Intro to Scientific Libraries Intro to Scientific Libraries Blue Waters Undergraduate Petascale Education Program May 29 – June
Maplesoft and LHCPhenoNet, Valencia, Spain February, 2011 Dr. David Hare, Maplesoft.
INTRODUCTION TO COMPUTER SCIENCE. SNAP! Open Chrome Whack a Mole Phone App in 3 minutes
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Pinellas County Schools
PageRank Google : its search listings always seemed deliver the “good stuff” up front. 1 2 Part of the magic behind it is its PageRank Algorithm PageRank™
Introduction. News you can use Hardware –Multicore chips (2009: mostly 2 cores and 4 cores, but doubling) (cores=processors) –Servers (often.
Final Outline Shang-Hua Teng. Problem 1: Multiple Choices 16 points There might be more than one correct answers; So you should try to mark them all.
Bradley, Barbare, Wagner
Introduction Mathcad is a product of mathSoft inc. The Mathcad can help us to calculate, graph, and communicate technical ideas. It lets us work with.
Stochastic Differential Equations and Random Matrices
Introduction to MATLAB
Lecture 13: Singular Value Decomposition (SVD)
Linear Algebra Lecture 32.
Simulation And Modeling
MAT 2401 Linear Algebra 7.2 Diagonalization
All we need in Game Programming Course Reference
Introduction to Matlab
Biological Applications Across the Mathematics Curriculum
Presentation transcript:

Alan Edelman Mathematics Computer Science & AI Laboratories June 9, 2014 Jeff Bezanson, Stefan Karpinski, Viral Shah and may collaborators worldwide Try Julia/Ijulia today google: julia  downloads 8pm room 4

2/30 Stereotypes Computer Scientists don’t take derivatives but computer scientists are great at abstractions Computational Scientists can’t declare types but computational scientists are great at engineering simulations and numerical algorithms

methodsobjects Object-oriented programming with classes What can I do with/to a thing? top up pay fare lose buy top up pay fare lose buy pay fare lose buy class-based OO classes are more fundamental than methods 3

Object-oriented programming with multi-methods What can I do with/to a thing? top up pay fare lose buy generic function objectsmethods multimethods relationships between objects and functions 4

Multi-methods with type hierarchy top up pay fare lose buy generic function objectsmethods rechargeable subway pass single-use subway ticket is a subtype of subway ticket abstract object 5

6 Poincaré quipped: “Mathematics is the art of giving the same name to different things.” Technical computing is the art of applying operations to objects with the same name that represent different things. -- The Julia Team Abstractions

Multi-methods for linear algebra What can I do with/to a thing? find eigenvalues and eigenvectors find singular values find singular values and vectors find eigenvalues generic function objectsmethods general matrix symmetric tridiagonal matrix bidiagonal matrix Methods can take advantage of special matrix structures eigvals eigfact svdvals svdfact Matrix SymTridiagonal Bidiagonal 7

8/30 The “Two Language” Problem As long as the developers’ language is harder than the users language, technical computing will always be hindered

9/30 What might you ask from your language? A whole laundry list of easy to call functions: elist/ elist/ Performance Can develop libraries Flexibility Parallelism Abstractions Easy to call other languages/unnecessary to call …

10/30 Notebooks to demo What is multiple dispatch? iterators Inspired today Parallel Tracy widom Web server Block SVD Fractals Linear Algebra Tutorial The Colors of Chemistry