home *** CD-ROM | disk | FTP | other *** search
- Path: 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>
-
- 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
-