public static void computeEigenScoreLowMem(){
		double dampFactor = 0.8;
		int numIterations = 100;
		double[] scoreOld = new double[population+1];
		double[] scoreNew = new double[population+1];
		HashMap<Integer,Integer> neighborWeight = new HashMap<Integer,Integer>(100);
		for (int i = 0; i < scoreOld.length; i++){
			scoreOld[i] = 1;
		}
		try {
			Connection con = dbConnect();
			PreparedStatement getNeighbors = con.prepareStatement(
					"SELECT person1ID FROM "+conTbl+" WHERE person2ID = ?");
			PreparedStatement getNeighborCount = con.prepareStatement(
					"SELECT tally FROM "+conCountTbl+" WHERE personID = ?");
			for (int i = 0; i < numIterations; i++){
				for (int person = 1; person <= population; person++){
					getNeighbors.setInt(1, person);
					ResultSet getNeighborsQ = getNeighbors.executeQuery();
					getNeighborsQ.last();
					int numNeighbors = getNeighborsQ.getRow();
					if (numNeighbors == 0){
						scoreNew[person] = 0;
					} else {
						getNeighborsQ.beforeFirst();
						while (getNeighborsQ.next()){
							Integer neighbor = new Integer(getNeighborsQ.getInt("person1ID"));
							if (neighborWeight.containsKey(neighbor)){
								neighborWeight.put(neighbor, new Integer(neighborWeight.get(neighbor) + 1));
							} else {
								neighborWeight.put(neighbor, new Integer(1));
							}
						}
						Iterator<Integer> itr = neighborWeight.keySet().iterator();
						while(itr.hasNext()){
							int neighbor = itr.next().intValue();
							int weight = neighborWeight.get(new Integer(neighbor));
							getNeighborCount.setInt(1, neighbor);
							ResultSet getNeighborCountQ = getNeighborCount.executeQuery();
							getNeighborCountQ.first();
							int tally = getNeighborCountQ.getInt("tally");
							scoreNew[person] += (dampFactor*scoreOld[neighbor]*weight) / tally;
						}
						scoreNew[person] += (1.0 - dampFactor);
					}
					neighborWeight = new HashMap<Integer,Integer>(100);
				}
				scoreOld = scoreNew;
				scoreNew = new double[population+1];
//				System.out.println("Iteration number: "+i);
//				System.out.println("-------------------------------");
//				for (int j = 0; j < scoreOld.length; j++){
//					System.out.println(scoreOld[j]);
//				}
			}
			for (int j = 0; j < scoreOld.length; j++){
				System.out.println(j+"\t"+scoreOld[j]);
			}
			con.close();
		} catch (Exception e){
			System.out.println(e);
		}
	}