INFOPedia : MACAlgDiagForte

HomePage :: Categorie :: Indice :: Ultime modifiche :: Ultimi commenti :: Login/Registrazione
La versione più recente è stata modificata il 2006-02-19 16:36:44 da SoNiC

Aggiunzioni:

Torna all'elenco dei capitoli




Modificato il 2006-02-19 16:36:19 da SoNiC

Aggiunzioni:

Diagonalizzazione forte di una matrice a valori interi

L'algoritmo DiagIntForte determina la matrice in forma diagonale forte equivalente alla matrice ad elementi interi A.
DiagIntForte[Y]


Omissioni:
L'algoritmo DiagIntForte determina la matrice in forma diagonale forte equivalente alla matrice ad elementi interi A.
DiagIntForte[Y]




La versione più vecchia di questa pagina è stata modificata il 2006-02-19 16:35:45 da SoNiC []
Vista della pagina:
L'algoritmo DiagIntForte determina la matrice in forma diagonale forte equivalente alla matrice ad elementi interi A.
INPUT: la matrice A.
OUTPUT: la matrice fortemente diagonale equivalente a A.

DiagIntForte[A_]:=Block[{Mat=A,k,L},
    m=Length[A];n=Length[A[[1]]];mi=Min[m,n];
    While[!DiagIntForteTest[Mat],
      Mat=DiagInt[Mat];
      L=Table[Mat[[i,i]],{i,1,mi}];
      If[!MultIntTest[L],
        k = F[L];
        Mat[[k-1]]=Mat[[k-1]]+Mat[[k]],
        k=G[L];
        If[k!=0 && k<n,
          Mat[[All,k+1]]=Mat[[All,k+1]]-Mat[[All,k]],
          If[k!=0 && k<m,
            Mat[[k+1]]=Mat[[k+1]]-Mat[[k]] ]]]];
    Mat]



Esempio

Y={{3,0,0,5,0},{0,6,0,1,0},{0,0,12,0,-1},{0,2,0,13,0}}


{{3,0,0,5,0},{0,6,0,1,0},{0,0,12,0,-1},{0,2,0,13,0}}

DiagIntForte[Y]

{{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0},{0,0,0,228,0}}
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
La pagina è stata generata in 0.0716 secondi