RE: making a block diagonal matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg37577] RE: [mg37548] making a block diagonal matrix
- From: "DrBob" <drbob at bigfoot.com>
- Date: Tue, 5 Nov 2002 05:01:33 -0500 (EST)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
Here's an example.
<< LinearAlgebra`MatrixManipulation`
MatrixForm[blocks = #IdentityMatrix[#] - 2 & /@ {2, 3, 1}]
glue1 = BlockMatrix@{{#1, Table[0, {Length@#1}, {Length@#2}]}, {Table[0,
{
Length@#2}, {Length@#1}], #2}} &;
MatrixForm[glueAll = Fold[glue1, First@blocks, Rest@blocks]]
DrBob
-----Original Message-----
From: David E. Burmaster [mailto:deb at alceon.com]
To: mathgroup at smc.vnet.net
Subject: [mg37577] [mg37548] making a block diagonal matrix
Dear MathGroup
Can anyone please suggest an efficient way to convert a list of square
matrices (of different dimensions) into a block diagonal matrix?? The
elements of each matrix are all real numbers
here is an example with a list of two square matrices --
matrix1 = a b
c d
matrix2 = e f g
h i j
k l m
output = a b 0 0 0
c d 0 0 0
0 0 e f g
0 0 h i j
0 0 k l m
=-=
many thanks
dave
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
David E. Burmaster, Ph.D.
Alceon Corporation
POBox 382069 (new Box number effective 1 Sep 2001)
Harvard Square Station
Cambridge, MA 02238-2069 (new ZIP code effective 1 Sep 2001)
Voice 617-864-4300
Web http://www.Alceon.com
Email deb at Alceon.com
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++