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

Reply via email to