What does roots/ eig do exactly?

I want to write a programm on Matlab, without using implemented functions. This programm should be similiar to the Matlab function roots. But I am not sure what roots does, is there any possibility to read something like a pseudo-code of roots or eig? Or is it possible to find .m file that fullfills this conditions?
Is roots simply using the QR decomposition with shifts ?

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 5 de Ag. de 2015
Editada: Sean de Wolski el 5 de Ag. de 2015
>>edit roots

7 comentarios

James Tursa
James Tursa el 5 de Ag. de 2015
Or "type roots" to avoid inadvertently changing the original.
Thomas Waljor
Thomas Waljor el 5 de Ag. de 2015
Editada: Thomas Waljor el 5 de Ag. de 2015
Already tried this, but Matlab simply uses eig to compute the roots of a polynomial.
If i type in "edit eig", i only see what eig produces and not how eig works.
Same thing with "type roots"
EIG is a built-in function and we do not distribute that source code.
By the way, please ask your professor (I'm assuming this is homework) to be more specific than "without using implemented functions" in his or her assignments. Technically your code will violate that requirement as soon as you assemble the coefficient vector.
x = [1 2 3]; % This concatenates using the built-in HORZCAT function
Thomas Waljor
Thomas Waljor el 5 de Ag. de 2015
It is for my bachelor thesis. I wrote a matlab programm to compute the roots of a polynomial and in the last part of my bachelor thesis I have to compare it to the in Matlab implemented "roots" function. I guess the implemented roots function is writen in C, since I have to reproduce a Matlab code, that is similiar to the roots function to compare my algortihm with the way the "roots" algorithm is computing roots of a polynomial.
Thus I am trying to find out how "roots" / "eig" works.
James Tursa
James Tursa el 5 de Ag. de 2015
Editada: James Tursa el 5 de Ag. de 2015
@Thomas: You really don't want to write your own code to replace eig ... that is going to be way too involved. What is the reason you want to write an equivalent to roots from scratch?
Thomas Waljor
Thomas Waljor el 5 de Ag. de 2015
For my bachelor thesis I wrote a programm that computes the roots of a polynomial quiet fast. One part of mine assignment is to compare this algorithm with the in Matlab implemented roots function. It is impossible to compare them directly, since I had to use Matlab to programm the first algorithm. Right now I try to figure out how roots computes the roots of a polynomial.
James Tursa
James Tursa el 5 de Ag. de 2015
By looking at the code for roots you have that answer. It constructs a matrix where the characteristic polynomial of that matrix is your polynomial. Then it uses eig to find eigenvalues of that matrix, which will be equal to the roots of the characteristic polynomial.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Linear Algebra en Centro de ayuda y File Exchange.

Preguntada:

el 5 de Ag. de 2015

Comentada:

el 5 de Ag. de 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by