On 27.03.2012 20:22, Sahil Singla wrote: > I am a second year undergraduate ,doing my major in Computer Sciences. > I have done a course in Numerical Linear Algebra and Scientific Computing > and it is by far the most interesting topic I have encountered in my life. > > I want to improve the code of QR factorization used in sympy by using > Householder reflections to find the QR of a matrix. Ideally the naiive > algorithm in sympy has complexity of O(m*n*n). Using householder > transformation method, this can be made much faster. > > Apart from it, I intend to implement the method for finding the eigenvalues > of a real matrix using a different algorithm. The present algorithm which > computes the eigenvalues of a matrix by finding the roots of the > characteristic polynomial is highly unstable and has a very high condition > number. The condition number for calculating an eigenvalue of a matrix(say > e) when the i'th coefficient in the matrix (say a(i)) is perturbed is > (a(i)*(e^(i-1)))/(p'(e)) where p'(e) is the derivative of the > characteristic polynomial at e. Seeing the amount of rounding errors that > will be involved in calculation of a particular coefficient, the resulting > error in the computation of the eigenvalue will be huge! > > The method by which it can be simplified is the power iteration method. The > program will have to be a combination of many different methods so that > eigenvalues for different matrices . In particular, the method will sort > out the issue 3189. >
It will be good! But I have to note, that the main task of the issue 3189 to give a chance to obtain the eigenvectors (not values) in several cases, when the nullspace algorithm failed. - Alexey Gudchenko > The method I intend to use is QR Algorithm for real matrices. After > applying finite preliminary reductions, the matrix can be converted into > its hessenberg form so that the work per iteration (step: A=R*Q) is reduced > to O(n^2) from O(n^3). > > > Regards, > Sahil Singla > Sophomore, > Computer Sciences, > IIT Delhi > -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
