# [R] Generating a stochastic matrix with a specified second dominant eigenvalue

David Winsemius dwinsemius at comcast.net
Sat Oct 17 05:13:19 CEST 2009

A further idea:

Consider the triangular square matrices of the form with decreasing
eigenvalues on the diagonal:

1   0   0   0   0   0
.3 .7   0   0   0   0
.4 .2  .4   0   0   0
.2 .4  .2  .2   0   0
.1 .3  .4  .2  .1   0
.2 .2  .2  .2  .1  .1

This would have the specified eigenvalue composition. Couldn't you
then apply "Gaussian reduction" row operations not for the purpose of
"reduction" but essentially the inverse? Wouldn't these all be in the
class of matrices that are "row echelon equivalent"? Don't they have
identical eigenvalues? Couldn't you fill in the lower triangular
elements with a random group of elements drawn from runif() calls.
And then a series of Gaussian row operations that preserved the
stochastic character?

e.g. a*Row1 +(1-a)Row6 -> Row1

--
David Winsemius, MD
Heritage Laboratories
West Hartford, CT

On Oct 15, 2009, at 6:24 PM, Ravi Varadhan wrote:

> Hi,
>
>
>
> Given a positive integer N, and a real number \lambda such that 0 <
> \lambda
> < 1,  I would like to generate an N by N stochastic matrix (a matrix
> with
> all the rows summing to 1), such that it has the second largest
> eigenvalue
> equal to \lambda (Note: the dominant eigenvalue of a stochastic
> matrix is
> 1).
>
>
>
> I don't care what the other eigenvalues are.  The second eigenvalue is
> important in that it governs the rate at which the random process
> given by
> the stochastic matrix converges to its stationary distribution.
>
>
>
> Does anyone know of an algorithm to do this?
>
>
>
> Thanks for any help,
>
> Ravi.
>
> ----------------------------------------------------------------------------
> -------
>
>
> Assistant Professor, The Center on Aging and Health
>
> Division of Geriatric Medicine and Gerontology
>
> Johns Hopkins University
>
> Ph: (410) 502-2619
>
> Fax: (410) 614-9625
>
>
> Webpage:
> .
> html>
> tml
>
>
>
> ----------------------------------------------------------------------------
> --------
>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help