ciao a tutti
volevo implementare l'algoritmo di gauss per la riduzione a scalini di matrici. HO fatto vari tentativi ma nulla. Il mio codice è il seguente
codice:
private ArrayList<Double> Gauss (ArrayList<Double> m, int r, int c){
    	int k=0, i, h;
    	double temp, pivot;
    	for(i=0; i<r;i++){
    		h=i;
    		while(m.get(h*c+k)==0){
    			h++;
    			if(h>=r){
    				h=i;
    				k++;
    				if(k>=c) break;
    			}
    		}
    		if(k>=c) break;
    		if(i!=h) {
    			for(int j=k; j<c; j++){//scambio
    				temp = m.get(i*c+j);
    				m.set(i*c+j, m.get(h*c+j));
    				m.set(h*c+j, temp);
    			}
    		}
    		pivot = m.get(h*c+k);//i o h?????
    		for(int j=k; j<c; j++){//cost
    			m.set(h*c+j, (m.get(h*c+j)/pivot));
    		}
    		
    		for(int l=h+1; l<r; l++){
    			if(m.get(l*c+k)!=0){
    				double sign = 1;
    				if((m.get(l*c+k)>0&&m.get(h*c+k)>0)||(m.get(l*c+k)<0&&m.get(h*c+k)<0)) sign = -1;
    				temp = sign * m.get(l*c+k);
    				for(int j=k; j<c; j++){
    					m.set(l*c+j, (m.get(l*c+j)+temp*m.get(h*c+j)));
    				}
    			}
    		}
    	}
    	
    	return m;
    }
non so dove erro...Avete altrimenti l'algoritmo gia' implementato? l'algoritmo che voglio implementare è quello per matrici rettangolari m x n.
Grazie in Anticipo

1ronCh4ng