Newsgroup: it.comp.lang.pascal
Titolo: Rango di una matrice?!?

Salve a tutti,
premettendo che sto appena cominciando ad avvicinarmi alla
programmazione in Pascal, vorrei sapere se qualcuno può suggerirmi un
algoritmo per determinare il rango di una matrice con m righe e n
colonne definite dall'utente.
Grazie a tutti.
Dan

se magari mi spieghi che cos'è il rango ti posso aiutare


se magari mi spieghi che cos'è il rango ti posso aiutare
Rango è un termine abbastanza comune in geometria analitica e, per
definizione, è inteso come il numero intero positivo che indica
l'ordine massimo dei minori di una matrice che sono diversi da zero.
Faccio un esempio per cercare di chiarire il concetto. Se ho una
matrice 3x3 tipo questa:
1   2   3
2   4   6
3   4   5
il suo determinante sarà nullo (scusatemi, do per sottointeso il
concetto di determinante, se ci fosse bisogno chiedete pure ulteriori
spiegazioni), il suo rango quindi non potrà essere 3. Ma tra i minori
di ordine 2 (ossia quelli costituiti da 2 righe e 2 colonne) almeno
uno è diverso da zero, ad es:
2   4
3   4
per cui il rango della matrice in questo caso è pari a 2.
Il mio problema va dunque ricondotto principalmente a trovare un modo
per calcolare tutti i minori di una matrice per trovare, quando ci
sono, quelli diversi da zero. E' però ovvio che al variare delle
dimensioni della matrice cambia il numero di minori esistenti.
Spero di non essere stato troppo criptico.
Se qualcosa non è chiaro, come ho già detto, chiedetemi pure.
Grazie ancora.
Ciao.
BH


 dimensioni della matrice cambia il numero di minori esistenti.
Ma tu li devi trovare tutti oppure il più piccolo?

Ma tu li devi trovare tutti oppure il più piccolo?
Come detto più sopra, basta trovare il minore di ordine più grande che
abbia determinante diverso da zero.
Grazie ancora per la collaborazione.
Ovviamente sono a disposizione per ulteriori chiarimenti.
Ciao.

Se ti serve penaso di avere un programma che calcola il rango di una matrice
in qualche libro



Magari! Mi faresti un favore.
Grazie.
Ciao.

Ho trovato un programma che calcola il determinante di una matrice, non so
se e difficile da adattare.

colonne definite dall'utente.
La prima cosa che mi viene in mente e' una ricerca euristica sul
determinante di ogni matrice contenuta in quella originale.



Sarebbe gią un buon inizio.
Se me lo puoi mandare poi posso provare a vedere quello che si puņ
combinare! :-)
Grazie.
Ciao.

 combinare! :-)
Io ne ho scritta una versione ricorsiva per determinare il determinante, ma
il problema rimane quello di considerare tutti i minori.
Cmq si potrebbero sfruttare anche altri teoremi per risolvere il problema.
Ad esempio se io trovo un minore di rango n con determinante diverso da zero
e tutti i minori di rango n+1 che lo contengono hanno determinante nullo,
allora il rango della matrice è n.
Io a questo punto partirei dai determinanti più piccoli per passare ad
esaminare di volta in volta quelli più grandi.
Altro suggerimento, non è sempre necessario calcolare il determinante, per
verificare se è = a 0 si può anche verificare che le linee o le colonne non
sono linearmente indipendenti.
Domani se ho tempo ti scrivo il programma.
--
Lunga vita e prosperità \\//_
Nemesi

 wrote in message
8au5k5$941$1...@lacerta.tiscalinet.it...


Devo trovare qualcuno che lo scannarizza, ci provo