INFOPedia : MACAlgDiagPoliForteTest

HomePage :: Categorie :: Indice :: Ultime modifiche :: Ultimi commenti :: Login/Registrazione

Test di diagonalizzazione forte di una matrice a valori polinomiali



La funzione CC calcola il coefficiente conduttore del polinomio f nell'indeterminata x.


CC[f_,x_]:=Last[CoefficientList[f,x]]



L'algoritmo MultPoliTest stabilisce se ciascun polinomio della lista L,
a partire dal secondo, è multiplo del precedente.

INPUT: la lista di polinomi L;
OUTPUT: True o False.


MultPoliTest[L_,x_]:=
  Apply[And,
    Table[Or[L[[i-1]]===0&&L[[i]]===0,
        L[[i-1]]=!=0&&PolynomialRemainder[L[[i]],L[[i-1]],x]===0],{i,2,
        Length[L]}]]




L'algoritmo DiagPoliForteTest stabilisce se la matrice ad elementi polinomiali A è in forma diagonale forte.

INPUT: la matrice A.
OUTPUT: True o False.


DiagPoliForteTest[A_,x_]:=Block[{},
    m=Length[A];n=Length[A[[1]]];mi=Min[m,n];
    L=Table[A[[i,i]],{i,1,mi}];
    DiagTest[A]&&MultPoliTest[L,x]&&
      If[m!=n,
        Apply[And,Table[L[[i]]=!=0&&CC[L[[i]],x]==1,{i,1,mi}]],
        Apply[And,Table[L[[i]]=!=0&&CC[L[[i]],x]==1,{i,1,mi-1}]]]]



Torna all'elenco dei capitoli

Non ci sono commenti in questa pagina. [Scrivi commento]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
La pagina è stata generata in 0.0697 secondi