Re: numerical roots for polynom and eigenvalues for matrix float
Vanuxem Grégory <[email protected]>
| Newsgroups | gmane.comp.mathematics.axiom.general |
|---|---|
| Message-ID | <[email protected]> |
Sorry I forgot the attachement. Le lundi 13 mars 2006 à 11:37 +0100, Francois Maltey a écrit : > Hello, > > I continue to test my classical exercices with axiom. > > I can't play with eigenvalue / eigenvector for Matrix Float. > > I can compute det (M - x (1)_n), > but I can't find root of a Polynomial Float, is it possible ? > > Have a good day ! > > François. > > > _______________________________________________ > Axiom-math mailing list > [email protected] > http://lists.nongnu.org/mailman/listinfo/axiom-math > _______________________________________________ Axiom-math mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-math
numerical.xt
(text/plain, 5 KB)
-- see src/algebra/numeigen.spad.pamphlet for documentation
(88) -> a:=matrix [[1.7,2.8,-3.5],[4.7,-2.3,4.9],[9.7,-5.2,6.3]]
+1.7 2.8 - 3.5+
| |
(88) |4.7 - 2.3 4.9 |
| |
+9.7 - 5.2 6.3 +
Type: Matrix Float
(89) -> )what op genvectors
Operations whose names satisfy the above pattern(s):
complexEigenvectors eigenvectors generalizedEigenvectors innerEigenvectors
radicalEigenvectors realEigenvectors
To get more information about an operation such as generalizedEigenvectors , issue the command
)display op generalizedEigenvectors
(89) -> complexEigenvectors(a::MATRIX FRAC INT,1.e-20)
(89)
[
[outval= 1.6023593474 484895959 + 5.2929925254 201773538 %i, outmult= 1,
+- 0.1761475358 4004346541 + 0.3604260666 8596495651 %i+
| |
outvect= [| 0.5748095297 8905553647 - 0.3455499381 8583024532 %i |]]
| |
+ 1.0 +
,
[outval= 1.6023593474 484895959 - 5.2929925254 201773538 %i, outmult= 1,
+- 0.1761475358 4004346541 - 0.3604260666 8596495651 %i+
| |
outvect= [| 0.5748095297 8905553647 + 0.3455499381 8583024532 %i |]]
| |
+ 1.0 +
,
+0.3277715241 0582423428+
| |
[outval= 2.4952813051 03020808,outmult= 1,outvect= [|1.3430966305 237450509 |]]]
| |
+ 1.0 +
Type: List Record(outval: Complex Float,outmult: Integer,outvect: List Matrix Complex Float)
(90) -> realEigenvectors(a::MATRIX FRAC INT,1.e-20)
+0.3277715241 0582423428+
| |
(90) [[outval= 2.4952813051 03020808,outmult= 1,outvect= [|1.3430966305 237450509 |]]]
| |
+ 1.0 +
Type: List Record(outval: Float,outmult: Integer,outvect: List Matrix Float)
(91) -> )what op genvalues
Operations whose names satisfy the above pattern(s):
complexEigenvalues eigenvalues radicalEigenvalues realEigenvalues
To get more information about an operation such as complexEigenvalues , issue the command )display
op complexEigenvalues
(91) -> complexEigenvalues(a::MATRIX FRAC INT,1.e-20)
(91)
[2.4952813051 03020808, 1.6023593474 484895959 - 5.2929925254 201773538 %i,
1.6023593474 484895959 + 5.2929925254 201773538 %i]
Type: List Complex Float
(92) -> realEigenvalues(a::MATRIX FRAC INT,1.e-20)
(92) [2.4952813051 03020808]
Type: List Float
--------------------------------------------------------------------------------------------------------------
(81) -> pol:= 2.7*x^3+7.0*x^2+9
3 2
(81) 2.7 x + 7.0 x + 9.0
Type: Polynomial Float
(82) -> qpol := pol::POLY FRAC INT::FRAC POLY INT
3 2
27x + 70x + 90
(82) ----------------
10
Type: Fraction Polynomial Integer
(83) -> realRoots(qpol,1.e-20)
(83) [- 2.9703850232 552105051]
Type: List Float
(84) -> complexRoots(qpol,1.e-20)
(84)
[- 2.9703850232 552105051, 0.1888962153 3130895627 - 1.0423565598 071182905 %i,
0.1888962153 3130895627 + 1.0423565598 071182905 %i]
Type: List Complex Float
-- computationally expensive algorithm
(85) -> complexZeros(pol,1.e-15)$ComplexRootFindingPackage(FLOAT,UP(x, COMPLEX FLOAT))
(85)
[0.1888962153 3130895627 - 1.0423565598 071182905 %i, 0.1888962153 3130895627 + 1.0423565598 071182905 %i,
- 2.9703850232 552105051]
Type: List Complex Float