Linear Algebra in a Computational Setting Alan Kaylor Cline Dean’s Scholars Seminar January 22, 2014.

Slides:



Advertisements
Similar presentations
Lecture 4.
Advertisements

Part 12: Asymptotics for the Regression Model 12-1/39 Econometrics I Professor William Greene Stern School of Business Department of Economics.
Lecture 15 Orthogonal Functions Fourier Series. LGA mean daily temperature time series is there a global warming signal?
Math 340L - CS What’s this all about?.
Pagerank CS2HS Workshop. Google Google’s Pagerank algorithm is a marvel in terms of its effectiveness and simplicity. The first company whose initial.
Math Modeling Final Project APPLICATIONS of FRACTALS Advisor: Professor Alber Fang Qi Pu Wan Xue Rui FRACTAL LANDSCAPES FRACTAL IMAGE COMPRESSION.
Link Analysis: PageRank
Lecture 4 The Gauß scheme A linear system of equations Matrix algebra deals essentially with linear linear systems. Multiplicative elements. A non-linear.
Low Complexity Keypoint Recognition and Pose Estimation Vincent Lepetit.
Experiments with MATLAB Experiments with MATLAB Google PageRank Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University, Taiwan
Determinants Bases, linear Indep., etc Gram-Schmidt Eigenvalue and Eigenvectors Misc
Lecture 4 The Gauß scheme A linear system of equations Matrix algebra deals essentially with linear linear systems. Multiplicative elements. A non-linear.
Motion Analysis Slides are from RPI Registration Class.
Some useful linear algebra. Linearly independent vectors span(V): span of vector space V is all linear combinations of vectors v i, i.e.
Page Rank.  Intuition: solve the recursive equation: “a page is important if important pages link to it.”  Maximailly: importance = the principal eigenvector.
Prénom Nom Document Analysis: Data Analysis and Clustering Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Goals of Adaptive Signal Processing Design algorithms that learn from training data Algorithms must have good properties: attain good solutions, simple.
Control Systems and Adaptive Process. Design, and control methods and strategies 1.
Lecture 10: Robust fitting CS4670: Computer Vision Noah Snavely.
Principles of the Global Positioning System Lecture 10 Prof. Thomas Herring Room A;
“ The Initiative's focus is to dramatically advance the means to collect,store,and organize information in digital forms,and make it available for searching,retrieval,and.
Multi-view geometry. Multi-view geometry problems Structure: Given projections of the same 3D point in two or more images, compute the 3D coordinates.
The PageRank Citation Ranking: Bringing Order to the Web Larry Page etc. Stanford University, Technical Report 1998 Presented by: Ratiya Komalarachun.
Presented By: - Chandrika B N
Point set alignment Closed-form solution of absolute orientation using unit quaternions Berthold K. P. Horn Department of Electrical Engineering, University.
Computer Engineering Majors Authors: Autar Kaw
Google’s Billion Dollar Eigenvector Gerald Kruse, PhD. John ‘54 and Irene ‘58 Dale Professor of MA, CS and I T Interim Assistant Provost Juniata.
Computational Stochastic Optimization: Bridging communities October 25, 2012 Warren Powell CASTLE Laboratory Princeton University
Kalman filtering techniques for parameter estimation Jared Barber Department of Mathematics, University of Pittsburgh Work with Ivan Yotov and Mark Tronzo.
The Wrench: Let’s suppose that we have already reduced a complicated force system to single (resultant ) force,, and a single couple with the moment,,
Modern Navigation Thomas Herring
Zero 0 Show Me Zero One 1 Show Me 1 Two 2 Show Me 2.
Adaptive On-Line Page Importance Computation Serge, Mihai, Gregory Presented By Liang Tian 7/13/2010 1Adaptive On-Line Page Importance Computation.
PageRank. s1s1 p 12 p 21 s2s2 s3s3 p 31 s4s4 p 41 p 34 p 42 p 13 x 1 = p 21 p 34 p 41 + p 34 p 42 p 21 + p 21 p 31 p 41 + p 31 p 42 p 21 / Σ x 2 = p 31.
Parameter estimation. 2D homography Given a set of (x i,x i ’), compute H (x i ’=Hx i ) 3D to 2D camera projection Given a set of (X i,x i ), compute.
Colorado Center for Astrodynamics Research The University of Colorado 1 STATISTICAL ORBIT DETERMINATION ASEN 5070 LECTURE 11 9/16,18/09.
Geometry of Multiple Views
Linear Algebra in a Computational Setting Alan Kaylor Cline DS September 24, 2014.
Understanding Google’s PageRank™ 1. Review: The Search Engine 2.
COS429 Computer Vision =++ Assignment 4 Cloning Yourself.
CLICK THE NUMBERS IN SEQUENCE
Classification Course web page: vision.cis.udel.edu/~cv May 14, 2003  Lecture 34.
MATH 416 Equations & Inequalities II. Graphing Systems of Equations The graphic method to solve a system of equations consists in determining the coordinates.
Link Analysis Algorithms Page Rank Slides from Stanford CS345, slightly modified.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Camera Calibration Course web page: vision.cis.udel.edu/cv March 24, 2003  Lecture 17.
Programming assignment # 3 Numerical Methods for PDEs Spring 2007 Jim E. Jones.
Two Least Squares Applications Data Fitting Noise Suppression.
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™
Web Mining Link Analysis Algorithms Page Rank. Ranking web pages  Web pages are not equally “important” v  Inlinks.
___________________________________________________ _______ Algebra 1 – Solving Equations - Math is Hip ™ Prerequisite Skills Needed: - Basic Addition.
The $25 Billion Eigenvector How does Google do Pagerank?
Multi-view geometry. Multi-view geometry problems Structure: Given projections of the same 3D point in two or more images, compute the 3D coordinates.
Standard 14 Solve by completing the square. Example One. Instructions: Factor Perfect Square.
7.1. Graphing Quadratics Standard Form
Lecture 16: Image alignment
Two-view geometry Computer Vision Spring 2018, Lecture 10
Epipolar geometry.
Some useful linear algebra
9.3 – Graphing Linear Equations
I have the answer, so what was the question?
Multi-view geometry.
CLICK THE NUMBERS IN SEQUENCE
Objective & Essential Understanding
Programming assignment #1 Solving an elliptic PDE using finite differences Numerical Methods for PDEs Spring 2007 Jim E. Jones.
Calibration and homographies
CLICK THE NUMBERS IN SEQUENCE
Multiplication facts Your Help Guide.
Image Stitching Linda Shapiro ECE/CSE 576.
Image Stitching Linda Shapiro ECE P 596.
Presentation transcript:

Linear Algebra in a Computational Setting Alan Kaylor Cline Dean’s Scholars Seminar January 22, 2014

How long does it take for this code to run?

After examining the code you believe that the running time depends entirely upon some input parameter n and … a good model for the running time is Time(n) = a + b·log 2 (n) + c·n + d·n·log 2 (n) where a, b, c, and d are constants but currently unknown.

So you time the code for 4 values of n, namely n = 10, 100, 500, and 1000 and you get the times According to the model you then have 4 equations in the 4 unknowns a, b, c, and d: a + b·log 2 (10) + c·10 + d·10·log 2 (10) = a + b·log 2 (100) + c·100 + d·100·log 2 (100) = a + b·log 2 (500) + c· d·500·log 2 (500) = a + b·log 2 (1000) + c·1000+ d·1000·log 2 (1000) = Time(10) = ms. Time(100) = 7.247ms. Time(500) = ms. Time(1000) = ms.

These equations are linear in the unknowns a, b, c, and d. a + b·log 2 (10) + c·10 + d·10·log 2 (10) = a + b·log 2 (100) + c·100 + d·100·log 2 (100) = a + b·log 2 (500) + c· d·500·log 2 (500) = a + b·log 2 (1000) + c·1000+ d·1000·log 2 (1000) = We solve them and obtain: a = 6.5 b = 10.3 c = 57.1 d = 2.2 So the final model for the running time is Time(n) = ·log 2 (n) ·n + 2.2·n·log 2 (n)

and now we may apply the model Time(n) = ·log 2 (n) ·n + 2.2·n·log 2 (n) for a particular value of n (for example, n = 10,000) to estimate a running time of Time(10,000) = ·log 2 (10,000) · 10, · 10,000 ·log 2 (10,000) = ms.

Picture from Mars Oct. 1, 1976 One approach to the coloring of the images was to adjust manually the colors in the various patches.

Picture from Mars Oct. 1, 1976 One approach to the coloring of the images was to adjust manually the colors in the various patches.

Picture from Mars Oct. 1, 1976 One approach to the coloring of the images was to adjust manually the colors in the various patches. This is what resulted:

Picture from Mars Oct. 1, 1976 The other approach was to solve 6 x 6 linear systems for each pixel. The systems were based on the filters being used.

Picture from Mars Oct. 1, 1976 The other approach was to solve 6 x 6 linear systems for each pixel. The systems were based on the filters being used. This is what resulted:

Picture from Mars Oct. 1, 1976 Compare the two:

But have we ignored something?

So you time the code for 30 values of n, and you get these times {(n i,t i )}

If the model was perfect and there were no errors in the timings then for some values a, b, c, d, and e: a + b·log 2 (n i ) + c·n i + d·n i ·log 2 (n i ) +e·n i 2 = t i for i =1,…,30

But the model was not perfect and there were error in the timings So we do not expect to get any values a, b, c, d, and e so that: a + b·log 2 (n i ) + c·n i + d·n i ·log 2 (n i ) +e·n i 2 = t i for i =1,…,30 We will settle for values a, b, c, d, and e so that: a + b·log 2 (n i ) + c·n i + d·n i ·log 2 (n i ) +e·n i 2  t i for i =1,…,30

Our sense of a + b·log 2 (n i ) + c·n i + d·n i ·log 2 (n i ) +e·n i 2  t i for i =1,…,30 Will be to get a, b, c, d, and e so that sum of squares of all of the differences  (a + b·log 2 (n i ) + c·n i + d·n i ·log 2 (n i ) +e·n i 2 - t i ) 2 is minimized over all possible choices of a, b, c, d, and e

After solving the least squares system to get the best values of a, b, c, d, and e, we plot a + b·log 2 (n) + c·n + d·n·log 2 (n) + e·n 2

What’s a “good” solution when we don’t have the exact solution?

“Hey. That’s not a question that was discussed in other math classes.”

What’s a “good” solution when we don’t have the exact solution? Consider the two equations:

Consider two approximate solution pairs: and these two equations:

Consider two approximate solution pairs: and these two equations: Which pair of these two is better?

Important fact to consider: The exact solution is: Which pair of these two is better?

Consider two approximate solution pairs: and these two equations: Which pair of these two is better?

Important fact to consider: Which pair of these two is better? Recall we are trying to solve: For the first pair, we have: For the second pair, we have:

Important fact to consider: Which pair of these two is better?

Student: “Is there something funny about that problem?”

Professor: “You bet your life. It looks innocent but it is very strange. The problem is knowing when you have a strange case on your hands.” CLINE

Professor: “Geometrically, solving equations is like finding the intersections of lines.” CLINE

here’s the intersection? When lines have no thickness …

where’s the intersection? … but when lines have thickness …

25.96 miles Galveston Island

25.96 miles Galveston Island Where’s the intersection?

London Olympics Swimming DfY&feature=related DfY&feature=related 1:19

How do you transform this image …

into the coordinate system of another image?

and in greater generality, transform 3-dimensional objects

The $25 Billion Eigenvector How does Google do Pagerank?

The $25 Billion Eigenvector How did Google do Pagerank?

The Imaginary Web Surfer: Starts at any page, Randomly goes to a page linked from the current page, Randomly goes to any web page from a dangling page, … except sometimes (e.g. 15% of the time), goes to a purely random page.

A tiny web: who should get the highest rank? JA B IC DH G FE

The associated stochastic matrix:

We seek to find a vector x so that A x = x One way is to start with some initial x 0, and then: for k = 1, 2, 3,… x k = A x k-1 This converges to an x so that A x = x

Start with equal components

One iteration

Two iterations

Three iterations

Four iterations

Five iterations

Six iterations

Seven iterations

Eight iterations

Nine iterations

Ten iterations

The Eigenvector

[U,G] = surfer (' programs-center/deans-scholars', 100)

Pagerank Power Iteration the limit

And the winners are… ' ' ' ' ' ' ' ' ' ' '

How much storage to hold this array? Current estimate of indexed WWW: 4.7 · web pages If placed into an array this would have 2.21 · elements If each element is stored in 4 bytes, this would be 8.8 · bytes Current estimate of world’s data storage capacity is 3.0 · bytes (.003% of necessary space)

How much time to do one power step? Current estimate of indexed WWW: 4.7 · web pages If placed into an array this would have 2.21 · elements Fastest current machine does · operations per second One step of y = Ay takes 3.68 days

Go Home Now.