MathGroup Archive 2001

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

Search the Archive

Re: integrals involving vectors and matrices

  • To: mathgroup at smc.vnet.net
  • Subject: [mg29280] Re: [mg29275] integrals involving vectors and matrices
  • From: BobHanlon at aol.com
  • Date: Mon, 11 Jun 2001 04:38:24 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 2001/6/9 3:28:09 AM, cozzi at almaden.ibm.com writes:

>I am trying to do integrals involving vectors and matrices and here is
>a
>.m file that i have created. When i run it I get the following error
>message
>"Unable to check convergence". I am new to mathematica and any pointers
>or help would be appreciated. thanks, -shiv
>
>Z = Array[z, {2, 1}]
>X = Array[x, {3, 1}]
>L = Array[l, {3, 2}]
>S = Diagonal Matrix[{s1, s2, s3}]
>le1 = Transpose[X - (L.Z)]
>ri1 = X - (L.Z)
>M = Array[m, {2, 1}]
>Q = Array[q, {2,  2}]
>le2 = Transpose[Z - M]
>ri2 = Z - M
>Integrate[Exp[(-1/2)(le1).(Inverse[S]).(ri1)]Exp[(-1/2)(le2).(Inverse[Q]).(ri

2)],
>{z, -Infinity, Infinity}]
>

varArray[var_Symbol,{dim1_Integer?Positive,dim2_Integer?Positive}]:=
    Module[{v=ToString[var]},
      Table[ToExpression[
          v<>If[dim1==1,"",ToString[d1]]<>
            If[dim2==1,"",ToString[d2]]],{d1,dim1},{d2,dim2}]];

Z = varArray[z,{2,1}]

{{z1}, {z2}}

Note that varArray provides a more compact notation and makes it clearer that 
there is no variable z but rather two variables, z1 and z2.  Did you intend 
to 
integrate over a region with both variables going from -Infinity to Infinity?

X=varArray[x,{3,1}];
L=varArray[l,{3,2}];
S=DiagonalMatrix[{s1,s2,s3}];
ri1=X-(L.Z);
le1=Transpose[ri1];
M=varArray[m,{2,1}];
Q=varArray[q,{2,2}];
ri2=Z-M;
le2=Transpose[ri2];

The order of the definitions was changed to make use of previous definitions.

Using specific values for several of the variables to simplify the problem

expr = Exp[(-1/2)(le1).(Inverse[S]).(ri1)]Exp[(-1/
              2)(le2).(Inverse[Q]).(ri2)] /. {m1->0,m2->0,
      s1 -> 1, s2 -> 1, s3 -> 1, 
      Sequence@@(#->1& /@ Flatten[L]), 
      Sequence@@(#->0& /@ Flatten[X])}

{{E^((1/2)*((-z2)*((q11*z2)/(q11*q22 - q12*q21) - 
         (q12*z1)/(q11*q22 - q12*q21)) - 
       z1*((q22*z1)/(q11*q22 - q12*q21) - (q21*z2)/(q11*q22 - q12*q21))) - 
     (3/2)*(-z1 - z2)^2)}}

The double integral for the simplified expression is then

Integrate[expr, {z1,-Infinity,Infinity}, {z2,-Infinity,Infinity}]//Simplify

{{(4*Pi)/(Sqrt[(3*q22*q11 + q11 - 3*q12*q21)/(q11*q22 - q12*q21)]*
     Sqrt[-(((12*q21 + 1)*q12^2 + 2*(6*q21^2 + 6*q11*q21 + 6*q22*q21 + 
           q21 - 6*q11*q22)*q12 + q21^2 - 12*q11*q21*q22 - 
         4*q11*q22*(3*q11 + 3*q22 + 1))/((q11*q22 - q12*q21)*
         (3*q22*q11 + q11 - 3*q12*q21)))])}}

The more general integral may take a very long time to integrate and the 
output may be very long and complex. 


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: Re: Normal vector on a surface
  • Next by Date: RE: Normal vector on a surface
  • Previous by thread: integrals involving vectors and matrices
  • Next by thread: Normal vector on a surface