Re: Mathematica 6.0 and MatrixManipulations
- To: mathgroup at smc.vnet.net
- Subject: [mg76313] Re: Mathematica 6.0 and MatrixManipulations
- From: Mark Fisher <mark at markfisher.net>
- Date: Sat, 19 May 2007 04:46:41 -0400 (EDT)
- References: <f2h9ve$1g0$1@smc.vnet.net> <f2jvp3$do4$1@smc.vnet.net>
I see. And one can overload DiagonalMatrix to produce block-diagonal matrices: unprotected = Unprotect[DiagonalMatrix]; DiagonalMatrix[listOfBlocks : {__?MatrixQ}] := Block[{x}, With[{a = Array[x, Length[listOfBlocks]]}, ArrayFlatten[DiagonalMatrix[a] /. Thread[a -> listOfBlocks]] ]] Protect[unprotected//Evaluate]; m1 = {{1,2},{3,4}}; m2 = {{5,6,7},{8,9,10},{11,12,13}}; DiagonalMatrix[{m1,m2}] --Mark Michael wrote: > Hmm ... > > Yesterday, after perusing version 6.0, it appears that "ArrayFlatten" > and "ConstantArray" are two new commands to be aware of. In the > online documentation, ArrayFlatten also will work with implicitly- > defined dimensions for zero matrices, such as the following case: > > In1:= m = {{a,b},{c,d}}; > In2:= newMat=ArrayFlatten[{{0,m,0},{0,0,m}}]; > > Neat! > > Regards, > > Michael > > On May 17, 3:15 am, Michael <mcau... at gmail.com> wrote: >> Hi, >> >> In Mathematica 6.0, I notice that the instruction >> >> In[1]:= Needs["LinearAlgebra`MatrixManipulation`"]; >> >> produces the following warning: >> >> "General::obspkg: LinearAlgebra`MatrixManipulation` is now obsolete. >> The legacy version being loaded may conflict with current Mathematica >> functionality. See the Compatibility Guide for updating information." >> >> In fact, a lot of my 'favourite' methods, "BlockMatrix", "ZeroMatrix", >> etc. no longer are even documented in the help browser, nor is the >> package MatrixManipulation. >> >> My previous version was Mathematica 5.2, and so what *should* I be >> using now instead of "BlockMatrix", "ZeroMatrix", etc.? Thus far, I >> haven't been able to find any information about obsolesced functions >> within the help browser (F1). >> >> Any suggestions or help would be greatly appreciated! >> >> Thanks, >> >> Michael > > >