Can anyone review this?? On Fri, Sep 19, 2008 at 6:16 PM, Edward J. Yoon (JIRA) <[EMAIL PROTECTED]> wrote: > The determinant of a matrix > --------------------------- > > Key: HAMA-66 > URL: https://issues.apache.org/jira/browse/HAMA-66 > Project: Hama > Issue Type: New Feature > Components: implementation > Reporter: Edward J. Yoon > > > This is my old map/reduce code to get the determinant of a matrix. > > Map: > > public void map(HStoreKey key, MapWritable value, > OutputCollector<Text, MapWritable> output, Reporter reporter) > throws IOException { > > int r = Integer.parseInt(String.valueOf(key.getRow())); > checkObj.set(r, 0, 0.0); > double d = matrix_a.get(r, 0) * Math.pow(-1.0, r) * minor(r, 1); > checkObj.set(r, 0, 1.0); > > MapWritable val = new MapWritable(); > val.put(Constants.COLUMN, getBytesWritable(d)); > output.collect(Constants.DETERMINANT, val); > } > > private double minor(int processRow, int processColumn) > throws IOException { > double result = 0.0; > int i = 0; > if ((row - processColumn) == 0) { > return 1.0; > } > > for (int r = 0; r < row; r++) { > double trans = checkObj.get(r, 0); > if (trans != 0.0) { > checkObj.set(r, 0, 0.0); > result += matrix_a.get(r, processColumn) * Math.pow(-1.0, i) > * minor(r, processColumn + 1); > checkObj.set(r, 0, 1.0); > i++; > } > } > > return result; > } > > Reduce: > > public void reduce(Text key, Iterator<MapWritable> values, > OutputCollector<Text, MapWritable> output, Reporter reporter) > throws IOException { > > double sum = 0; > while (values.hasNext()) { > sum += getDouble(values.next().get(Constants.COLUMN)); > } > > MapWritable value = new MapWritable(); > value.put(Constants.COLUMN, getBytesWritable(sum)); > output.collect(key, value); > } > > > > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > >
-- Best regards, Edward J. Yoon [EMAIL PROTECTED] http://blog.udanax.org
