Optimization algorithms and methods | Dynamic programming | Matrices

Matrix chain multiplication

Matrix chain multiplication (or the matrix chain ordering problem) is an optimization problem concerning the most efficient way to multiply a given sequence of matrices. The problem is not actually to perform the multiplications, but merely to decide the sequence of the matrix multiplications involved. The problem may be solved using dynamic programming. There are many options because matrix multiplication is associative. In other words, no matter how the product is parenthesized, the result obtained will remain the same. For example, for four matrices A, B, C, and D, there are five possible options: ((AB)C)D = (A(BC))D = (AB)(CD) = A((BC)D) = A(B(CD)). Although it does not affect the product, the order in which the terms are parenthesized affects the number of simple arithmetic operations needed to compute the product, that is, the computational complexity. The straightforward multiplication of a matrix that is X × Y by a matrix that is Y × Z requires XYZ ordinary multiplications and X(Y − 1)Z ordinary additions. In this context, it is typical to use the number of ordinary multiplications as a measure of the runtime complexity. If A is a 10 × 30 matrix, B is a 30 × 5 matrix, and C is a 5 × 60 matrix, then computing (AB)C needs (10×30×5) + (10×5×60) = 1500 + 3000 = 4500 operations, whilecomputing A(BC) needs (30×5×60) + (10×30×60) = 9000 + 18000 = 27000 operations. Clearly the first method is more efficient. With this information, the problem statement can be refined as "how to determine the optimal parenthesization of a product of n matrices?" Checking each possible parenthesization (brute force) would require a run-time that is exponential in the number of matrices, which is very slow and impractical for large n. A quicker solution to this problem can be achieved by breaking up the problem into a set of related subproblems. (Wikipedia).

Matrix chain multiplication
Video thumbnail

Matrix multiplication

Matrix multiplication. How to multiply matrices. In this video I show you how we define the multiplication of matrices. As you will see, it is not so simply as multiplying two numbers. Matrices can only be multiplied when the number of columns in the first matrix is similar to the numb

From playlist Introducing linear algebra

Video thumbnail

Matrix Multiplication

This is the second video of a series from the Worldwide Center of Mathematics explaining the basics of matrices. This video deals with multiplying two matrices. For more math videos, visit our channel or go to www.centerofmath.org

From playlist Basics: Matrices

Video thumbnail

Matrix Multiplication

This video explains how to multiply matrices. http://mathispower4u.yolasite.com/ http://mathispower4u.wordpress.com/

From playlist Matrices

Video thumbnail

Ex 1: Matrix Multiplication (Basic)

This video provides examples of matrix multiplication. One example is defined and one example is undefined. Site: http://mathispower4u.com

From playlist Introduction to Matrices and Matrix Operations

Video thumbnail

Matrix Addition, Subtraction, and Scalar Multiplication

This video shows how to add, subtract and perform scalar multiplication with matrices. http://mathispower4u.yolasite.com/ http://mathispower4u.wordpress.com/

From playlist Introduction to Matrices and Matrix Operations

Video thumbnail

Ex: Matrix Scalar Multiplication

This video explains how to perform scalar multiplication. Site: http://mathispower4u.com

From playlist Introduction to Matrices and Matrix Operations

Video thumbnail

Ex 2: Matrix Multiplication (2x3)*(3x2)

This video provides an example of matrix multiplication. Site: http://mathispower4u.com

From playlist Introduction to Matrices and Matrix Operations

Video thumbnail

(ML 18.3) Stationary distributions, Irreducibility, and Aperiodicity

Definitions of the properties of Markov chains used in the Ergodic Theorem: time-homogeneous MC, stationary distribution of a MC, irreducible MC, aperiodic MC.

From playlist Machine Learning

Video thumbnail

8. Markov Eigenvalues and Eigenvectors

MIT 6.262 Discrete Stochastic Processes, Spring 2011 View the complete course: http://ocw.mit.edu/6-262S11 Instructor: Robert Gallager License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu

From playlist MIT 6.262 Discrete Stochastic Processes, Spring 2011

Video thumbnail

Markov Chains & Transition Matrices

Part 1 on Markov Chains can be found here: https://www.youtube.com/watch?v=rHdX3ANxofs&ab_channel=Dr.TreforBazett In part 2 we study transition matrices. Using a transition matrix let's us do computation of Markov Chains far more efficiently because determining a future state from some ini

From playlist Discrete Math (Full Course: Sets, Logic, Proofs, Probability, Graph Theory, etc)

Video thumbnail

Matrix Chain Multiplication | What Is Matrix Chain Multiplication?| Dynamic Programming |Simplilearn

This video aims to demonstrate Matrix Chain Multiplication using Dynamic Programming. This tutorial answers questions like what is matrix chain multiplication and how to implement its solution in code editor. This "Matrix Chain Multiplication" tutorial helps learners to learn data structur

From playlist Ful Stack Web Development 🔥[2023 Updated]

Video thumbnail

Vertex gluings and Demazure products by Nathan Pflueger

PROGRAM COMBINATORIAL ALGEBRAIC GEOMETRY: TROPICAL AND REAL (HYBRID) ORGANIZERS Arvind Ayyer (IISc, India), Madhusudan Manjunath (IITB, India) and Pranav Pandit (ICTS-TIFR, India) DATE & TIME: 27 June 2022 to 08 July 2022 VENUE: Madhava Lecture Hall and Online Algebraic geometry is t

From playlist Combinatorial Algebraic Geometry: Tropical and Real (HYBRID)

Video thumbnail

Stanford CS229: Machine Learning | Summer 2019 | Lecture 11 - Deep Learning - II

For more information about Stanford’s Artificial Intelligence professional and graduate programs, visit: https://stanford.io/3jpCT1d Anand Avati Computer Science, PhD To follow along with the course schedule and syllabus, visit: http://cs229.stanford.edu/syllabus-summer2019.html

From playlist Stanford CS229: Machine Learning Course | Summer 2019 (Anand Avati)

Video thumbnail

07 Backpropagation and Automatic Differentiation

Introduction to chain rule of differentiation and automatic differentiation

From playlist There and Back Again: A Tale of Slopes and Expectations (NeurIPS-2020 Tutorial)

Video thumbnail

Lecture 4 | Introduction to Neural Networks

In Lecture 4 we progress from linear classifiers to fully-connected neural networks. We introduce the backpropagation algorithm for computing gradients and briefly discuss connections between artificial neural networks and biological neural networks. Keywords: Neural networks, computation

From playlist Lecture Collection | Convolutional Neural Networks for Visual Recognition (Spring 2017)

Video thumbnail

Matrix Multiplication

Motivation for the definition of matrix multiplication. Alternative ways of thinking about matrix multiplication.

From playlist Linear Algebra Done Right

Video thumbnail

Matrix multiplication (part 2)

More on multiplying matrices.

From playlist Linear Algebra

Related pages

Hexagon | Catalan number | Top-down and bottom-up design | Time complexity | Dynamic programming | Computational complexity | Associahedron | Matrix multiplication | Tamari lattice | Brute-force search | Matrix (mathematics) | Optimization problem | Binary operation | Bracket (mathematics) | Reduction (complexity) | Regular polygon | Recursion | Polygon triangulation