Re: SparseArray
- To: mathgroup at smc.vnet.net
- Subject: [mg92319] Re: SparseArray
- From: Szabolcs Horvát <szhorvat at gmail.com>
- Date: Sat, 27 Sep 2008 22:19:53 -0400 (EDT)
- Organization: University of Bergen
- References: <gbl365$m5v$1@smc.vnet.net>
Uli Wuerfel wrote:
> Hello,
>
> I want to create a SparseArray with the elements being zero except for the diagonal elements and their direct neighbours. For those, I would like to assign them a value from another list, depending on the index i.
>
From your description it appears that you are trying to create a
tridiagonal matrix. Perhaps this syntax will be useful:
diagonal = Range[10]
lower = Range[10, 19]
upper = Range[20, 29]
mat = SparseArray[
{Band[{1, 1}] -> diagonal,
Band[{2, 1}] -> upper,
Band[{1, 2}] -> lower}]
diagonal, upper, and lower are the lists containing the elements of the
diagonals.