Be the first to rate this file! 1 Download (last 30 days) File Size: 4.32 KB File ID: #8548

Toeplitzmult

by Brian Borchers

 

24 Sep 2005 (Updated 26 Sep 2005)

This package implements fast matrix-vector multiplication for Toeplitz matrices.

| Watch this File

File Information
Description

This directory contains MATLAB functions for the fast multiplication of a Toeplitz matrix times a vector. By using these routines you can avoid storing the entire matrix (using two vectors of lenght n rather than a matrix of size n*n), and also dramatically speedup the multiplication. The algorithm used here runs in O(n*log(n)) time instead of the O(n^2) time required by conventional matrix multiplication.

The simplest case involves the multiplication of a Toeplitz matrix times a single vector. To multiply toeplitz(a,b) times x, use

>> y=toeplitzmult(a,b,x)

If you have a single matrix that will be multiplied times many vectors, then use

>> F=toeplitzmultaux(a,b);
>> y1=toeplitzmult2(F,x1);
>> y2=toeplitzmult2(F,x2);
>> y3=toeplitzmult2(F,x3);
...
 
The script example.m demonstrates the use of these functions.

Note that this code works correctly with matrices and vectors that are real or complex. However, due to round-off errors, the product might have a small imaginary component even though a,b, and x are all real. To correct this, simply use
 
  real(toeplitz(a,b,x))

A good introduction to how these algorithms work can be found in the book "Matrix Computations, 3rd ed." by Golub and Van Loan.

MATLAB release MATLAB 7.0.4 (R14SP2)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
linear algebra Brian Borchers 22 Oct 2008 08:00:31
toeplitz Brian Borchers 22 Oct 2008 08:00:31
structured Brian Borchers 22 Oct 2008 08:00:31
matrix Brian Borchers 22 Oct 2008 08:00:31
mathematics Brian Borchers 22 Oct 2008 08:00:31

Contact us at files@mathworks.com