MathGroup Archive 1998

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

Search the Archive

Re: Determinant


  • To: mathgroup@smc.vnet.net
  • Subject: [mg12376] Re: Determinant
  • From: Daniel Lichtblau <danl@wolfram.com>
  • Date: Sun, 10 May 1998 02:04:58 -0400
  • Organization: Wolfram Research, Inc.
  • References: <6imilk$h1c@smc.vnet.net>

Arturas Acus wrote:
> 
> Recently I observed a bit strange behaviour when calculating
> determinant of large symbolic matrix. With the usual command
> Det[symbolicmatrix] I  was unable to get the result. After I wrapped
> each element with Hold, the Det was calculated in  fraction of second.
> So, I am interesting what is going. Do Det checks  something? Actual
> example I attach bellow.
> 
>                                       Arturas Acus
> Institute of Theoretical
> Physics and Astronomy
> Gostauto 12, 2600,Vilnius
> Lithuania
> 
> E-mail: acus@itpa.lt
>    Fax: 370-2-225361
>    Tel: 370-2-612906
> 

The input:

fullGM = {{(Pi*(40*dF^2*r^2*Sin[F]^2 + 160*e2*fpi2*r^2*Sin[F]^2 +
	24*dF^2*r^2*Cos[q0]*Sin[F]^2 + 
	96*e2*fpi2*r^2*Cos[q0]*Sin[F]^2 + 40*Sin[F]^4 +
	24*Cos[q0]*Sin[F]^4 + 
	3*dF^2*r^2*Sin[q0]^2 + 48*e2*fpi2*r^2*Sin[q0]^2- 
	3*dF^2*r^2*Cos[F]*Sin[q0]^2 - 
	48*e2*fpi2*r^2*Cos[F]*Sin[q0]^2 + 
	6*Sin[F]^2*Sin[q0]^2 -4*dF^2*r^2*Sin[F]^2*Sin[q0]^2 - 
	16*e2*fpi2*r^2*Sin[F]^2*Sin[q0]^2 - 6*Cos[F]*Sin[F]^2*Sin[q0]^2 - 
	4*Sin[F]^4*Sin[q0]^2 + 
	6*dF^2*r^2*Sin[q2]^2 + 96*e2*fpi2*r^2*Sin[q2]^2- 
	6*dF^2*r^2*Cos[F]*Sin[q2]^2 - 
	96*e2*fpi2*r^2*Cos[F]*Sin[q2]^2 - 6*dF^2*r^2*Cos[q0]*Sin[q2]^2 - 
	96*e2*fpi2*r^2*Cos[q0]*Sin[q2]^2 + 
	6*dF^2*r^2*Cos[F]*Cos[q0]*Sin[q2]^2 + 
	96*e2*fpi2*r^2*Cos[F]*Cos[q0]*Sin[q2]^2 + 12*Sin[F]^2*Sin[q2]^2 - 
	8*dF^2*r^2*Sin[F]^2*Sin[q2]^2 - 32*e2*fpi2*r^2*Sin[F]^2*Sin[q2]^2 - 
	12*Cos[F]*Sin[F]^2*Sin[q2]^2 - 12*Cos[q0]*Sin[F]^2*Sin[q2]^2 + 
	8*dF^2*r^2*Cos[q0]*Sin[F]^2*Sin[q2]^2 + 
	32*e2*fpi2*r^2*Cos[q0]*Sin[F]^2*Sin[q2]^2 + 
	12*Cos[F]*Cos[q0]*Sin[F]^2*Sin[q2]^2 - 8*Sin[F]^4*Sin[q2]^2 + 
	8*Cos[q0]*Sin[F]^4*Sin[q2]^2 - 3*dF^2*r^2*Sin[q0]^2*Sin[q2]^2 - 
	48*e2*fpi2*r^2*Sin[q0]^2*Sin[q2]^2 + 
	3*dF^2*r^2*Cos[F]*Sin[q0]^2*Sin[q2]^2 + 
	48*e2*fpi2*r^2*Cos[F]*Sin[q0]^2*Sin[q2]^2 - 
	6*Sin[F]^2*Sin[q0]^2*Sin[q2]^2 + 
	4*dF^2*r^2*Sin[F]^2*Sin[q0]^2*Sin[q2]^2 + 
	16*e2*fpi2*r^2*Sin[F]^2*Sin[q0]^2*Sin[q2]^2 + 
	6*Cos[F]*Sin[F]^2*Sin[q0]^2*Sin[q2]^2 +4*Sin[F]^4*Sin[q0]^2*
	Sin[q2]^2))/(48*e2*r^2), 0, 
	(Pi*Cos[q2]*(40*dF^2*r^2*Sin[F]^2 + 160*e2*fpi2*r^2*Sin[F]^2 + 
	24*dF^2*r^2*Cos[q0]*Sin[F]^2 + 
	96*e2*fpi2*r^2*Cos[q0]*Sin[F]^2 + 40*Sin[F]^4 + 24*Cos[q0]*Sin[F]^4 + 
	3*dF^2*r^2*Sin[q0]^2 + 48*e2*fpi2*r^2*Sin[q0]^2- 
	3*dF^2*r^2*Cos[F]*Sin[q0]^2 - 
	48*e2*fpi2*r^2*Cos[F]*Sin[q0]^2 + 
	6*Sin[F]^2*Sin[q0]^2 -4*dF^2*r^2*Sin[F]^2*Sin[q0]^2 - 
	16*e2*fpi2*r^2*Sin[F]^2*Sin[q0]^2 - 6*Cos[F]*Sin[F]^2*Sin[q0]^2 - 
	4*Sin[F]^4*Sin[q0]^2))/
	(48*e2*r^2), 0, (Pi*(3 + Cos[q0])*Cos[q2]*
	Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2))/
	(3*e2*r^2), (
	4*Pi*Cos[q0/2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 +Sin[F]^2)*
	Sin[q2]*(Cos[qp1]*Sin[q3] +Cos[q3]*Sin[qp1]))/(3*e2*r^2), 
	(-2*Pi*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2)*
	(-2*Cos[q2]*Cos[qp2] + Cos[q2]*Cos[qp2]*Sin[q0/2]^2 + 
	2*Cos[q0/2]*Cos[q3]*Cos[qp1]*Sin[q2]*Sin[qp2] -
	2*Cos[q0/2]*Sin[q2]*Sin[q3]*Sin[qp1]*Sin[qp2]))/(3*e2*r^2)}, 
  {0, (Pi*(
	3*dF^2*r^2 + 48*e2*fpi2*r^2 -3*dF^2*r^2*Cos[F] - 
	48*e2*fpi2*r^2*Cos[F] - 
	3*dF^2*r^2*Cos[q0] - 48*e2*fpi2*r^2*Cos[q0] + 
	3*dF^2*r^2*Cos[F]*Cos[q0] + 
	48*e2*fpi2*r^2*Cos[F]*Cos[q0] + 6*Sin[F]^2 +16*dF^2*r^2*Sin[F]^2 + 
	64*e2*fpi2*r^2*Sin[F]^2 - 6*Cos[F]*Sin[F]^2 - 6*Cos[q0]*Sin[F]^2 + 
	16*dF^2*r^2*Cos[q0]*Sin[F]^2 + 64*e2*fpi2*r^2*Cos[q0]*Sin[F]^2 + 
	6*Cos[F]*Cos[q0]*Sin[F]^2 + 16*Sin[F]^4 + 16*Cos[q0]*Sin[F]^4))/(
	24*e2*r^2), 0, 0, 0, 
	(4*Pi*Cos[q0/2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2)*
	(Cos[q3]*Cos[qp1] -Sin[q3]*Sin[qp1]))/(3*e2*r^2), 
	(4*Pi*Cos[q0/2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2)*
 	(Cos[qp1]*Sin[q3] +Cos[q3]*Sin[qp1])*Sin[qp2])/(3*e2*r^2)}, 
  {(Pi*Cos[q2]*(
	40*dF^2*r^2*Sin[F]^2 + 160*e2*fpi2*r^2*Sin[F]^2 + 
	24*dF^2*r^2*Cos[q0]*Sin[F]^2 + 
	96*e2*fpi2*r^2*Cos[q0]*Sin[F]^2 + 40*Sin[F]^4 + 24*Cos[q0]*Sin[F]^4 + 
	3*dF^2*r^2*Sin[q0]^2 + 48*e2*fpi2*r^2*Sin[q0]^2- 
	3*dF^2*r^2*Cos[F]*Sin[q0]^2 - 
	48*e2*fpi2*r^2*Cos[F]*Sin[q0]^2 + 
	6*Sin[F]^2*Sin[q0]^2 -4*dF^2*r^2*Sin[F]^2*Sin[q0]^2 - 
	16*e2*fpi2*r^2*Sin[F]^2*Sin[q0]^2 - 6*Cos[F]*Sin[F]^2*Sin[q0]^2 - 
	4*Sin[F]^4*Sin[q0]^2))/
	(48*e2*r^2), 0, (Pi*(40*dF^2*r^2*Sin[F]^2 + 160*e2*fpi2*r^2*Sin[F]^2 + 
	24*dF^2*r^2*Cos[q0]*Sin[F]^2 +96*e2*fpi2*r^2*Cos[q0]*Sin[F]^2 + 
	40*Sin[F]^4 +  24*Cos[q0]*Sin[F]^4 + 3*dF^2*r^2*Sin[q0]^2 + 
	48*e2*fpi2*r^2*Sin[q0]^2- 
	3*dF^2*r^2*Cos[F]*Sin[q0]^2 - 48*e2*fpi2*r^2*Cos[F]*Sin[q0]^2 + 
	6*Sin[F]^2*Sin[q0]^2 - 
	4*dF^2*r^2*Sin[F]^2*Sin[q0]^2 - 16*e2*fpi2*r^2*Sin[F]^2*Sin[q0]^2 - 
	6*Cos[F]*Sin[F]^2*Sin[q0]^2 -4*Sin[F]^4*Sin[q0]^2))/(48*e2*r^2), 0, 
   (Pi*(3 + Cos[q0])*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2))/(
	3*e2*r^2), 0, (Pi*(3 + Cos[q0])*Cos[qp2]*
	Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2))/(3*e2*r^2)}, 
  {0, 0, 0, -(Pi*(-1 + Cos[F])*(dF^2*r^2 + 16*e2*fpi2*r^2
+2*Sin[F]^2))/(
	4*e2*r^2), 0, 0, 0}, 
  {(Pi*(3 + Cos[q0])*Cos[q2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 +
Sin[F]^2))/(
	3*e2*r^2), 0, 
	(Pi*(3 + Cos[q0])*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2))/(
	3*e2*r^2), 0, 
	(4*Pi*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 +Sin[F]^2))/(3*e2*r^2), 0, 
	(4*Pi*Cos[qp2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 +
Sin[F]^2))/(3*e2*r^2)}, 
  {(4*Pi*Cos[q0/2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2
+Sin[F]^2)*Sin[q2]*
	(Cos[qp1]*Sin[q3] +Cos[q3]*Sin[qp1]))/(3*e2*r^2), 
	(4*Pi*Cos[q0/2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2)*
	(Cos[q3]*Cos[qp1] -Sin[q3]*Sin[qp1]))/(3*e2*r^2), 0, 0, 0, 
	(4*Pi*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 +Sin[F]^2))/(3*e2*r^2), 0}, 
  {(-2*Pi*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2)*
	(-2*Cos[q2]*Cos[qp2] + Cos[q2]*Cos[qp2]*Sin[q0/2]^2 + 
	2*Cos[q0/2]*Cos[q3]*Cos[qp1]*Sin[q2]*Sin[qp2] -
	2*Cos[q0/2]*Sin[q2]*Sin[q3]*Sin[qp1]*Sin[qp2]))/(3*e2*r^2), 
	(4*Pi*Cos[q0/2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2)*
	(Cos[qp1]*Sin[q3] +Cos[q3]*Sin[qp1])*Sin[qp2])/(3*e2*r^2), 
	(Pi*(3 + Cos[q0])*Cos[qp2]*
	Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 + Sin[F]^2))/(3*e2*r^2), 0, 
	(4*Pi*Cos[qp2]*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 +
Sin[F]^2))/(3*e2*r^2), 
	0, (4*Pi*Sin[F]^2*(dF^2*r^2 + 4*e2*fpi2*r^2 +Sin[F]^2))/(3*e2*r^2)}};


I tracked this to an Expand call inside symbolic Det. To work around
this one can do

Unprotect[Expand];
Expand[a_,___] := a
In[2]:= Timing[dd = Det[fullGM];]
Out[2]= {0.06 Second, Null}
In[3]:= LeafCount[dd]
Out[3]= 19356

Possibly we should remove, sometimes suppress, or otherwise alter this
intermediate expansion. I'll give this some thought.

Thanks for the example.


Daniel Lichtblau
Wolfram Research



  • Prev by Date: Re: Redirecting output to file
  • Next by Date: Re: `Collect' with complex numbers??
  • Prev by thread: Determinant
  • Next by thread: Mathematica on Digital UNIX 4.0D