Origins, Evolution, and Future Directions of MATLAB Loren Shure



Similar documents
What s New in MATLAB and Simulink

Maschinelles Lernen mit MATLAB

2015 The MathWorks, Inc. 1

Tackling Big Data with MATLAB Adam Filion Application Engineer MathWorks, Inc.

Is a Data Scientist the New Quant? Stuart Kozola MathWorks

Bringing Big Data Modelling into the Hands of Domain Experts

MATLAB in Business Critical Applications Arvind Hosagrahara Principal Technical Consultant

Solving Big Data Problems in Computer Vision with MATLAB Loren Shure

How To Build A Trading Engine In A Microsoft Microsoft Matlab (A Trading Engine)

Deploying MATLAB -based Applications David Willingham Senior Application Engineer

Credit Risk Modeling with MATLAB

Machine Learning with MATLAB David Willingham Application Engineer

Introduction to MATLAB for Data Analysis and Visualization

Data Analysis with MATLAB The MathWorks, Inc. 1

Turning Data into Actionable Insights: Predictive Analytics with MATLAB WHITE PAPER

Parallel Computing with MATLAB

Algorithmic Trading with MATLAB Martin Demel, Application Engineer

Introduction to MATLAB Gergely Somlay Application Engineer

Hadoop Parallel Data Processing

MATLAB Distributed Computing Server Licensing Guide

MATLAB for Use in Finance Portfolio Optimization (Mean Variance, CVaR & MAD) Market, Credit, Counterparty Risk Analysis and beyond

Speeding up MATLAB and Simulink Applications

Data processing goes big

Analysis Tools and Libraries for BigData

MathWorks Products and Prices North America Academic March 2013

WHAT S NEW IN SAS 9.4

MATLAB as a Collaboration Platform Marta Wilczkowiak Senior Applications Engineer MathWorks

Fraud Detection with MATLAB Ian McKenna, Ph.D.

Fast Analytics on Big Data with H20

:Introducing Star-P. The Open Platform for Parallel Application Development. Yoel Jacobsen E&M Computing LTD

MATLAB in Production Systems, Database Integration, and Big Data Eugene McGoldrick

1 Topic. 2 Scilab. 2.1 What is Scilab?

Distributed Computing and Big Data: Hadoop and MapReduce

CUSTOMER Presentation of SAP Predictive Analytics

Azure Machine Learning, SQL Data Mining and R

Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC

DAQ in MATLAB HANS-PETTER HALVORSEN,

Big Data on Microsoft Platform

Numerical Methods in MATLAB

MATLAB Distributed Computing Server Cloud Center User s Guide

Predictive Analytics Techniques: What to Use For Your Big Data. March 26, 2014 Fern Halper, PhD

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

Soma: Linked Data Infrastructure

APPLICATION DEVELOPMENT FOR THE IOT ERA. Embedded Application Development Moves to the Cloud

BigMemory and Hadoop: Powering the Real-time Intelligent Enterprise

Write Once, Run Anywhere Pat McDonough

Data Mining with Hadoop at TACC

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Map-Reduce for Machine Learning on Multicore

Using In-Memory Computing to Simplify Big Data Analytics

Advanced analytics at your hands

DATA EXPERTS MINE ANALYZE VISUALIZE. We accelerate research and transform data to help you create actionable insights

MyCloudLab: An Interactive Web-based Management System for Cloud Computing Administration

Assignment # 1 (Cloud Computing Security)

Name: Srinivasan Govindaraj Title: Big Data Predictive Analytics

Parallel Computing with Mathematica UVACSE Short Course

APPM4720/5720: Fast algorithms for big data. Gunnar Martinsson The University of Colorado at Boulder

Open source Google-style large scale data analysis with Hadoop

MATLAB Distributed Computing Server Installation Guide. R2012a

Cloud Computing. Adam Barker

Architecting for the next generation of Big Data Hortonworks HDP 2.0 on Red Hat Enterprise Linux 6 with OpenJDK 7

High Performance Predictive Analytics in R and Hadoop:

Cloudera Enterprise Reference Architecture for Google Cloud Platform Deployments

Mammoth Scale Machine Learning!

Some vendors have a big presence in a particular industry; some are geared toward data scientists, others toward business users.

Operationalise Predictive Analytics

Big Data and Natural Language: Extracting Insight From Text

Advanced Big Data Analytics with R and Hadoop

H2O on Hadoop. September 30,

Big Data on AWS. Services Overview. Bernie Nallamotu Principle Solutions Architect

Find the Hidden Signal in Market Data Noise

Computer Science Course Descriptions Page 1

Cloud Computing Capstone Task 2 Report

Graph Mining on Big Data System. Presented by Hefu Chai, Rui Zhang, Jian Fang

CS555: Distributed Systems [Fall 2015] Dept. Of Computer Science, Colorado State University

Diploma Of Computing

ISSN: CONTEXTUAL ADVERTISEMENT MINING BASED ON BIG DATA ANALYTICS

Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child

Chapter 13: Program Development and Programming Languages

Practical Data Science with Azure Machine Learning, SQL Data Mining, and R

Introduction to Big Data! with Apache Spark" UC#BERKELEY#

Spark: Cluster Computing with Working Sets

TAMING THE BIG CHALLENGE OF BIG DATA MICROSOFT HADOOP

The Flash Transformed Data Center & the Unlimited Future of Flash John Scaramuzzo Sr. Vice President & General Manager, Enterprise Storage Solutions

A Novel Cloud Based Elastic Framework for Big Data Preprocessing

Matlab on a Supercomputer

COMP9321 Web Application Engineering

You should have a working knowledge of the Microsoft Windows platform. A basic knowledge of programming is helpful but not required.

White Paper: Deploying QlikView

CSCI6900 Assignment 2: Naïve Bayes on Hadoop

Data-intensive HPC: opportunities and challenges. Patrick Valduriez

Apache Hama Design Document v0.6

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

Integrating VoltDB with Hadoop

Unlocking the True Value of Hadoop with Open Data Science

Transcription:

Origins, Evolution, and Future Directions of MATLAB Loren Shure 2015 The MathWorks, Inc. 1

Agenda Origins Peaks 5 Evolution 0-5 Tomorrow 2 0 y -2-3 -2-1 x 0 1 2 3 2

Computational Finance Workflow Access Files Research and Quantify Data Analysis & Visualization Share Reporting Databases Financial Modeling Applications Datafeeds Application Development Production Automate 3

MATLAB The Financial Development Platform Access Research and Quantify Share Files Files Databases Datafeeds Data Analysis and Visualization Data Financial Analysis Modeling & Visualization Application Development Reporting Reporting Applications Production Databases Financial Modeling Applications Trading Toolbox Spreadsheet Link EX Database Datafeeds Datafeed Financial Instruments Econometrics Financial Statistics Application Development Optimization MATLAB Report Generator Builder EX Builder NE Builder JA Production Compiler Production Server Parallel Computing MATLAB Distributed Computing Server Automate 4

Origins of MATLAB 5

1965 Birth of L-Shaped Membrane Origin of MathWorks Corporate Logo Cleve Moler s Stanford Ph.D. Thesis Finite Difference Methods for Eigenvalues of Laplace s Operator Blog post 6

1965 Birth of L-Shaped Membrane Evolution of MathWorks Corporate Logo vibes Vibrating L-shaped membrane 1984 1987 1992 1994 1997 7

1977 MATLAB Created Cleve s Work in Computational Mathematics 1967 1971 1976 1979 1977 Idea formed: Matrix Laboratory FORTAN Program Matrix as a Data Type 8

1981 MATLAB 0.0 MATLAB Command Line Program Debuts as a Teaching Tool 9

1979 MATLAB 0.0 MATLAB Command Line Debuts as a Teaching Tool Stanford: 1979-80 Winter Quarter CS237 - Numerical Analysis Math & CS Students Not impressed Engineering Students Love MATLAB Interactive text-based interpreter No need to compile! 10

Evolution of MATLAB Peaks 5 0-5 2 0 y -2-3 -2-1 x 0 1 2 3 11

1983-1984 Jack Little s Vision MathWorks Founded to Commercialize MATLAB M-file scripts and functions Toolboxes MATLAB becomes a language for Technical Computing 12

1987 Loren Shure Joins MathWorks as Hire #1 MATLAB Developer 1988/9 13

1992 MATLAB 4 Command Line, Graphics, and Help Browser (helpdesk) MATLAB is more than a language: Library of mathematical functions Customizable by toolboxes M-file functions and scripts 2d/3d Graphics Matrix data type (2-d complex array) 14

1996 MATLAB 5.0 MATLAB Language Evolves Beyond the MATRIX Data Type 15

1996 MATLAB 5.0 Financial Toolbox Launched 16

1998-1999 MATLAB 5.2 (R10) and 5.3 (R11) Desktop Evolves, Debugger, Enhanced 3D Graphics 17

2000-2003 MATLAB 6.0-6.5 (R12-R13) New Dock-able Desktop, Command History, Function Handles fhandle = @humps; x = fminbnd(fhandle, 0.3, 1) x = 0.6370 MATLAB JIT Introduced 18

2000-2003 MATLAB 6.0-6.5 (R12-R13) Start Menu, More GUI Tools (Apps), and More Finance Products JAVA Interface 19

2004 MATLAB 7 (R14) Evolving Desktop, Distributed Computing, Market Datafeeds Anonymous functions: sqr = @(x) x.^2; Nested functions: function x = A(p1, p2)... function y = B(p3)... end... end 20

2004 MATLAB 7 (R14) And Publishing of Scripts MATLAB scripts Published Report 21

2006 MATLAB 7.2 (R2006a) Move to Twice a Year Release, M-Lint Integrated into Editor 22

2007 MATLAB 7.5 (R2007a/b) Dataset and Categorical Arrays Statistics Toolbox (future MATLAB data types) Categorical variables Dataset variable 23

2008 MATLAB 7.8 (R2008a) Econometrics Toolbox Launched, Performance Improvements 24

2008 MATLAB 7.8 (R2008a) Modernized Object-Oriented Programming 25

2008 MATLAB 7.9 (R2008b) New Symbolic Engine 26

2009 MATLAB 7.8/7.9 (R2009a/b) Protected Code,.NET Interface Visible IP Sharing MATLAB Code MATLAB Apps MATLAB User MATLAB User p-code MATLAB User Protected IP Sharing 27

2010 MATLAB 7.10/7.11 (R2010a/b) GPU Support Additional Code Additional Code 28

2011 MATLAB 7.13/7.14 (R2011a/b) Big.MAT Files Partial Read/Write, 80+ Tools (aka Apps) 29

30

2012 MATLAB 7.13 (R2012b) New Desktop Launched, Improved Discoverability, Apps 31

2012 MATLAB 7.13 (R2012b) New Desktop Launched, Improved Discoverability, Apps 32

2012 MATLAB 7.13 (R2012b) MATLAB Production Server Launched Web Applications MATLAB Compiler Web Server MATLAB Production Server Portfolio Optimization Desktop Applications Pricing Application Server Risk Analytics Batch Applications Database Server 34

2012 MATLAB 7.13 (R2012b) MATLAB Production Server Example: Web Asset Allocation http://54.208.30.187/mwa/ 35

2012 MATLAB 7.13 (R2012b) MATLAB Production Server Example: Predictive Modeling http://is.gd/mwdfw 36

2013 MATLAB 7.14/15 (R2013a/b) Unit Testing and Datasets become Tables in MATLAB 37

Future Directions of MATLAB 2014 - onwards 38

MATLAB The Financial Development Platform Access Files Databases Datafeeds Research and Quantify Data Analysis and Visualization Financial Modeling Application Development Share Reporting Applications Production Trading Toolbox Spreadsheet Link EX Database Datafeed Financial Instruments Financial Statistics MATLAB Econometrics Optimization Report Generator Builder EX Builder NE Builder JA Compiler Production Server Parallel Computing MATLAB Distributed Computing Server 39

MATLAB The Financial Development Platform Access Files Databases Datafeeds Research and Quantify Data Analysis and Visualization Financial Modeling Application Development Share Reporting Applications Production Trading Toolbox Spreadsheet Link EX Database Datafeed Financial Instruments Financial Statistics MATLAB Econometrics Optimization Report Generator MATLAB Compiler SDK MATLAB Compiler Production Server Parallel Computing MATLAB Distributed Computing Server 40

Cloud as a New Platform BILLIONS of users MILLIONS of apps Cloud mobile, browser, social, big data HUNDREDS OF MILLIONS of users 10,000s of applications PC - LAN, Internet MILLIONS of users 1,000s of applications Terminal - mainframe, mini Source: IDC, 2013 41

MATLAB Mobile Support for iphone, ipad, and Android 42

Cloud Enhancing Your MATLAB Desktop MATLAB Discributed Computing Server on Amazon EC2 43

The 4 V s of Big Data Volume Veracity Velocity Variety 44

Big Data Capabilities in MATLAB Memory and Data Access 64-bit processors Memory Mapped Variables Disk Variables Databases Datastores Programming Constructs Streaming Block Processing Parallel-for loops GPU Arrays SPMD and Distributed Arrays MapReduce Platforms Desktop (Multicore, GPU) Clusters Cloud Computing (MDCS on EC2) Hadoop 45

New Big Data Capabilities in MATLAB Memory and Data Access 64-bit processors Memory Mapped Variables Disk Variables Databases Datastores Programming Constructs Streaming Block Processing Parallel-for loops GPU Arrays SPMD and Distributed Arrays MapReduce Platforms Desktop (Multicore, GPU) Clusters Cloud Computing (MDCS on EC2) Hadoop 46

Analyze Big Data mapreduce Use the powerful MapReduce programming technique to analyze big data Multiple items (keys) to organize and process Intermediate results do not fit in memory ******************************** * MAPREDUCE PROGRESS * ******************************** Map 0% Reduce 0% Map 20% Reduce 0% Map 40% Reduce 0% Map 60% Reduce 0% Map 80% Reduce 0% Map 100% Reduce 25% Map 100% Reduce 50% Map 100% Reduce 75% Map 100% Reduce 100% On the desktop Analyze big database tables (Database Toolbox) Increase compute capacity (Parallel Computing Toolbox) Access data on HDFS to develop algorithms for use on Hadoop With Hadoop Run on Hadoop using MATLAB Distributed Computing Server Deploy applications and libraries for Hadoop using MATLAB Compiler 47

Mapreduce Data Store Map Reduce 1503 UA LAX -5-10 2356 540 PS BUR 13 5 186 1920 DL BOS 10 32 1876 1840 DL SFO 0 13 568 272 US BWI 4-2 359 UA PS DL DL US 2356 186 1876 568 359 UA 2356 UA 1867 UA 1365 PS 186 784 PS SEA 7 3 176 PS 176 PS 237 796 PS LAX -2 2 237 PS 237 1525 UA SFO 3-5 1867 UA 1867 DL 1876 632 US PS SJC 2-4 245 1610 UA MIA 60 34 1365 2032 DL EWR 10 16 789 2134 DL DFW -2 6 914 US UA DL DL 245 1365 789 914 DL 914 US 359 US 245 48

Statistics and Machine Learning What s New Classification Learner New app to train models and classify data using supervised machine learning Features Import and interactively explore data Choose kfold or holdout validation Train SVM, knn, bagged trees and other algorithms Assess results using classification accuracy, ROC curves and Confusion Matrices Export models to the MATLAB or generate MATLAB code 49

Statistics and Machine Learning What s New? New: Classification Learner app Multiclass SVM Statistical tests for comparing classifiers Kmediods Clustering (robust to outliers) C Code Generation for PCA Requires MATLAB Coder Enhancements: Speedup of the kmeans and gmdistribution using the kmeans++ Performance enhancements for decision trees and performance curves 50

MATLAB Distributed Computing Server with Hadoop Datastore HDFS MATLAB Distributed Computing Server Node Data Map Reduce Node Data Map Reduce MATLAB MapReduce Code Node Hadoop Data Map Reduce 51

MATLAB Compiler with Hadoop Datastore HDFS MATLAB runtime Node Data Map Reduce Node Data Map Reduce Node Data Map Reduce Hadoop MATLAB MapReduce Code 52

and much more to come 53

MATLAB The Financial Development Platform Access Files Databases Datafeeds Research and Quantify Data Analysis and Visualization Financial Modeling Application Development Share Reporting Applications Production Trading Toolbox Spreadsheet Link EX Database Datafeed Financial Instruments Financial Statistics MATLAB Econometrics Optimization Report Generator MATLAB Compiler SDK MATLAB Compiler Production Server Parallel Computing MATLAB Distributed Computing Server 54

2015 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. 55