![]() |
![]() |
Back |
John Hench (smshenc@rdg.ac.uk) wrote: : I'd like to add to this discussion some references : concerning matrix derivaties. They are "Matrix : Derivatives" by Gerald Rogers and "Kronecker : Products and Matrix Calculus" with Applications by : A. Graham. : BTW, Graham's book mentions that d|X|/dX is : |X|X^{-1}, which is just the adj(X), so the : question is how do you accurately compute the : adjugate of a matrix, right? Usually given matrix formulae with inverses the best way to numerically solve them is to rewrite as a system of equations in LAPACK-et-al-compatible form without explicit inverses. e.g. if the desired quantity Q is Q = |X| X^{-1} rewrite as Q*X = |X| and solve for Q with whatever library routine is appropriate. Often they want the unknown multiplied on the right, so take transposes: X^T * Q^T = |X|^T { A * UNKNOWN = B } (standard LAPACK template) solve for Q^T, giving Q after post processing. -- Matthew B. Kennel/mbk@caffeine.engr.utk.edu/I do not speak for ORNL, DOE or UT Oak Ridge National Laboratory/University of Tennessee, Knoxville, TN USA/Return to Top
> In article <329CB599.62CD@worldnet.att.net>, > MarcusReturn to Topsays: >I have a number of x,y data points that form an arc of constant radius. > Do you know a good technique for finding the center and radius of the arc? >I've tried the following, but I'm not sure of it's reliability: >take first data point, find line running through point but also tangent >to the arc, take second data point and find line tangent again. >Normalize both lines and find the intersection. This will give me the >center, from here the radius is easy. > >Do you have any suggestions? >Thanks, Marc As some previous persons sugested, you shoud use an optimization method. If C is your center, and M(i), the points of your trajectory,then your radius is : R = 1/N *sum_{i=1}^N {||M(i) - C ||}, You can find C by minimizing m = sum_{k=1}^N {||M(k) - c|| - R}^2 = sum_{k=1}^N {||M(k) - c|| - 1/N *sum_{i=1}^N {||M(i) - C ||}^2 Or, if you are sure that your curve is a circle, you can use a linear algorithm by setting : R = sqrt (1/N * sum_{i=1}^N {||OM(i) - OC ||^2}) = sqrt (1/N * sum_{i=1}^N {|OM(i)|^2 - 2 t(OM(i)).OC + |OC|^2}) You want to minimize : m = sum_{k=1}^N {||OM(k) - OC||^2 - R^2}^2 = sum_{k=1}^N { |OM(k)|^2 - 1/N*sum_{i=1}^N |OM(i)|^2 - 2*t(OM(k)-1/N*sum{i=1}^N OM(i)).OC}^2 You get then an easy to solve linear least squares paroblem where your unknown is OC. If you derive this expression with respect to OC, and set the derivation to 0, you will get a simple equation A.OC = b, where A is a 2*2 matrix, and b is a 2*1 vector. I hope this helps. Feel free to contact me for more details. Karine ---- Karine Lecarpentier, M.A.Sc student UBC, Dept. of Electrical Engineering e-mail: karinel@ee.ubc.ca 2356 Main Mall phone: (604) 822-0532 Vancouver, B.C fax: (604) 822-5949 V6T 1Z4 Canada
I am seeking C source code (available on the internet) to _numerically_ perform the following; (1) double integration using the trapezoidal rule (2) double integration by weights or some other method (3) Runge 4 to solve a 2nd order ODE _Numerical Recipes_ doesn't attack these probs specifically. Thanks, Pete halbeisen@mdc.net http://www.mdc.net/~halbeisenReturn to Top
> Can you remind of how to find the inverse of a matrice. It been a while > back since I took linear algebra at the university. > Thank you in advance. Let's say you have A which is n x n and you want to find A^{-1}. Let M = [ A | I ] Where I is the identity matrix. Now you find the reduced row echelon form of M Then you should end up with [ I | A^{-1} ] If you don't know how to find the reduced row echelon form, please reply in the news and I will help you out. -- _____________________________________________________________________ thomas delbert wilkinson 038 henday lister hall university of alberta If god were perfect, why did He create discontinuous functions? http://ugweb.cs.ualberta.ca/~wilkinso/Return to Top
Dear net users, Having been recently asked by one of my student if (considering any triangle ABC and G the center of gravity of that triangle) the angles AGB, BGC, and CGA were all eguals (to 120 degres, of course), I came up with an answer, but could not find the formal proof for it. If any of you could indicate me where I'd be able find it, or even show it here, I would sincerely appreciate it. Thanks in advance. Regis Mesnier, e-mail:swann2@earthlink.netReturn to Top
Hello all Simple question: Is the Crank Nicolson algorithm unitary? That is, if I use C.N. to solve Schroedinger's equation and my initial condition wavefunction is normalized to 1, will it stay normalized to 1 by the n'th iteration? Thanks! PeterReturn to Top
Jean Debord (jdebord@MicroNet.fr) wrote: : kamthan@cs.concordia.ca (KAMTHAN pankaj) wrote: : >Could anybody suggest any pointers to articles on the historical : >evolution of any of the various aspects of numerical analysis: : >LU decompostion, Newton's method, Simpson's rule, etc.? The more esoteric stuff like Gaussian quadrature, the Euler-Maclaurin formula, continued fractions and such can be found in Herman H. Goldstine, A History of Numerical Analysis from the 16th Through the 18th Century. I think it mentions all the things you want, except maybe the LU decomp (should have something about Gaussian elim. though) jasonpReturn to Top