Article View: sci.math.num-analysis
Article #833Determinants (contd..)
From: Anand V. Lakshmikumaran
Date: Mon, 14 Dec 1992 06:07
Date: Mon, 14 Dec 1992 06:07
87 lines
4033 bytes
4033 bytes
Excerpts from netnews.sci.math.num-analysis: 13-Dec-92 Determinants A. Lakshmikumaran@andrew (1278) > I am interested in an efficient routine to compute the determinant of a matrix > of size n (n < 100), when only one of the terms of the determinant has been > changed; in terms of the determinant of the original matrix. > To make it more clear, > Step 1: I have this matrix G and i need to compute its determinant > once. (this is quite easy since there are canned routines for this) > Step 2: But then i just change only of its elements and compute its > determinant. > (Let G' be the new matrix) > Step 2 is repeated quite a few times and each time G' differs from G at > just a single > element. So does any of you know about any public domain routine which could > perform step 2 more efficiently than just by computing the determinant? (like > finding the determinant of G' in terms of determinant of G and the > changed element). > I looked into different techniques of evaluating the determinant. One > method was > to expand the determinant into a sum of n! terms and just grouping the > (n-1)! terms corresponding to the changed term. But my feeling was this would > be more time consuming than computing the determinant itself (which is of > order n**3 if LU factorisation is used). Correct me if i am wrong and > is there any simpler technique to compute the determinant in such a case? > Thanks > Anand I thought it would be a better idea to describe the motivation behind my interest in such a situation as described above. Probably I don't need to concern myself with the above problem. The main motivation behind that was to solve a "non-linear eigenvalue" problem. (I am not sure if i could it call it so, since i have never come across such a terminology before). I mean, the matrix itself is dependent on the eigenvalues. Something like G(lambda) = 0.0 where G is a square matix of order n. (For example: IF it was a "linear" eigenvalue problem, then G(lambda) = lambda*I - A.) And i intend to solve the problem by a Newton Raphson routine. So i need to find the differential of the determinant of G(lambda) with respect to lambda. f(lambda) = det(G(lambda)) df(lambda)/dlambda = d/dlambda (det(G(lambda))) (And i came up with an expression for the same which goes something like this). If G(lambda) = gij(lambda) i = 1..n, j = 1...n (gij is the i-j th element of G) then df(lambda)/dlambda = (sum I = 1..n)(sum J = 1..n) det(GIJ (lambda)) - n(n-1)*det(G(lambda)) where GIJ(lambda) = dgij/dlambda if I = i, J = j = gij if I not equal to i and J not equal to j (what this means is that GIJ is same as G except that the I-J th element of GIJ is replaced by the correponding derivative.). Thus my basic motivation is to find the differential of a determinant in terms of the determinant of the differentials. If there exists any better way of dealing with this problem than the technique which I am using above, then i wouldn't need to find n**2 determinants. The other option that i have is to use some standard canned package like MINPACK in netlib to solve the nonlinear problem G(lambda) = 0.0 and let MINPACK find the differential by using some sort of difference procedure. Anand
Technical Details
Message-ID:
<Qf==5T200X0F41LLBc@andrew.cmu.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!usenet.coe.montana.edu!news.u.washington.edu!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!andrew.cmu.edu!al2c+References:
<Uf_ue8S00X0F01LIFN@andrew.cmu.edu> <8f_ul__00X0FM1LIoi@andrew.cmu.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!usenet.coe.montana.edu!news.u.washington.edu!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!andrew.cmu.edu!al2c+ From: al2c+@andrew.cmu.edu (Anand V. Lakshmikumaran) Newsgroups: sci.math.num-analysis Subject: Determinants (contd..) Message-ID: <Qf==5T200X0F41LLBc@andrew.cmu.edu> Date: 14 Dec 92 06:07:59 GMT Article-I.D.: andrew.Qf==5T200X0F41LLBc References: <Uf_ue8S00X0F01LIFN@andrew.cmu.edu> <8f_ul__00X0FM1LIoi@andrew.cmu.edu> Organization: Doctoral student, Mechanical Engineering, Carnegie Mellon, Pittsburgh, PA Lines: 87 In-Reply-To: <8f_ul__00X0FM1LIoi@andrew.cmu.edu>