problemino pratico di combinatoria

53 views
Skip to first unread message

Lorents

unread,
Jan 20, 2014, 10:44:05 AM1/20/14
to matematic...@googlegroups.com
Devo trattare la seguente situazione: ho un numero Nv di variabili x_1,
x_2, ... x_Nv e un numero Nr <= Nv^2 di relazioni moltiplicative del
tipo x_i = r_{ij} x_j.
Posso raggruppare i coefficienti r_{ij} in una matrice, da cui segue
r_{ij}=1/r_{ji}
Posso anche fissare r_{ii}=1 .
Il mio problema e' di trovare un algoritmo (veloce) che dati in ingresso
Nr relazioni riempia il piu' possibile la matrice r_{ij}, vale a dire
che trovi tutte le altre relazioni fra variabili che possono essere
dedotte da quelle date. Per esempio, se conosco r_{ik} e r_{ij} posso
dedurre r_{jk}=r_{ik}/r_{ij}

Al momento ho scritto un algoritmo `brutale' che usa la relazione qui
sopra con un triplo ciclo sugli indici i,j,k, una cosa tipo (pseudofortran):

do i=1, Nv
do j=1, Nv
do k=1, Nv
 if( r_{ik} .and. r_{ij} sono definiti) r_{jk} = r_{ik}/r_{ij}
enddo
enddo
enddo


Nei test che ho fatto, posto che la matrice di ingresso soddisfi per
ogni r_{ij}, r_{ij}=1/r_{ji}, l'algoritmo qua sopra sembra funzionare ma
sono sicuro che debbano esistere strategie piu' efficienti.
Spero di essere stato abbastanza chiaro. Suggerimenti?

L.
Reply all
Reply to author
Forward
0 new messages