Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: MatrixPower problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124083] Re: MatrixPower problem
  • From: David Bailey <dave at removedbailey.co.uk>
  • Date: Sun, 8 Jan 2012 04:25:33 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <je96q1$j7o$1@smc.vnet.net>

On 07/01/2012 10:29, Per R=F8nne wrote:
> I have defined the following matrix:
>
> P = {{0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0},
>         {0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0}, {0, 0, 1/3, 0, 1}}
>
> And the following vector:
>
> e1 = {1, 0, 0, 0, 0}
>
> I try to solve:
>
> Limit[MatrixPower[P, k].e1, k ->  \[Infinity]]
>
> And get the correct result:
>
> Out[7] = {0, 0, 0, 0, 1}
>
> But if I write the first statement as:
>
> P = {{0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0},
>         {0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0}, {0, 0, 1/3, 0, 1}}
> //MatrixForm
>
> I will not only get a more readle Out-format of the matrix. My
> Mathematica 8.1 for Students will also deny to calculate what is
> demanded. It will just list
>
> Limit[MatrixPower[P, k].e1, k ->  \[Infinity]]
>
> with P replaced with the contents of the 5*5 matrix.
>
> I simply don't understant why.
>
>
> The output I can be pasted as:
>
> At least I get the following output:
>
> Limit[MatrixPower[\!\(\*
> TagBox[
> RowBox[{"(", "", GridBox[{
> {"0",
> FractionBox["1", "2"], "0",
> FractionBox["1", "2"], "0"},
> {
> FractionBox["1", "2"], "0",
> FractionBox["1", "3"], "0", "0"},
> {"0",
> FractionBox["1", "2"], "0",
> FractionBox["1", "2"], "0"},
> {
> FractionBox["1", "2"], "0",
> FractionBox["1", "3"], "0", "0"},
> {"0", "0",
> FractionBox["1", "3"], "0", "1"}
> },
> GridBoxAlignment->{
>           "Columns" ->  {{Center}}, "ColumnsIndexed" ->  {},
>            "Rows" ->  {{Baseline}}, "RowsIndexed" ->  {}},
> GridBoxSpacings->{"Columns" ->  {
> Offset[0.27999999999999997`], {
> Offset[0.7]},
> Offset[0.27999999999999997`]}, "ColumnsIndexed" ->  {}, "Rows" ->  {
> Offset[0.2], {
> Offset[0.4]},
> Offset[0.2]}, "RowsIndexed" ->  {}}], "", ")"}],
> Function[BoxForm`e$,
> MatrixForm[BoxForm`e$]]]\), k].{1, 0, 0, 0, 0}, k ->  \[Infinity]]
>

The following expression is wrong:

P = {{0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0},
        {0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0}, {0, 0, 1/3, 0, 1}}
//MatrixForm

To see what is wrong, type P//FullForm

As you will see, the MatrixForm has become part of the expression
contained in P!

Instead write:

P = {{0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0},
        {0, 1/2, 0, 1/2, 0}, {1/2, 0, 1/3, 0, 0}, {0, 0, 1/3, 0, 1}};

P//MatrixForm

BTW, it is best to avoid variables that start with a capital letter, as
these can clash with new definitions in later versions of Mathematica.

David Bailey
http://www.dbaileyconsultancy.co.uk




  • Prev by Date: Re: ParametricPlot3D vs Reduce
  • Next by Date: Re: ParametricPlot3D vs Reduce
  • Previous by thread: Re: MatrixPower problem
  • Next by thread: Re: MatrixPower problem