Triu.java

/*
 * $Id: Triu.java,v 1.11 2008/04/13 02:12:38 koga Exp $
 * 
 * Copyright (C) 2004 Koga Laboratory. All rights reserved.
 */
package org.mklab.tool.matrix;

import org.mklab.nfc.matrix.DoubleMatrix;
import org.mklab.nfc.matrix.misc.UpperTriangleMatrix;


/**
 * 上三角部分以外をゼロにした行列を求めるクラスです。
 * 
 * <p>Upper triangle
 * 
 * @author koga
 * @version $Revision: 1.11 $
 * @see org.mklab.tool.matrix.Tril
 */
public class Triu {

  /**
   * <code>x</code>の上三角部分を返します。
   * 
   * @param x 対象となる行列
   * @return 上三角部分以外をゼロにした行列
   */
  public static DoubleMatrix triu(DoubleMatrix x) {
    return UpperTriangleMatrix.create(x);
  }

  /**
   * <code>x</code>の<code>k</code>次対角より上を返します。
   * 
   * <pre> distance = 0 : 主対角 
   * 
   * distance &gt; 0 : 対角より上 
   * 
   * distance &lt; 0 : 対角より下 </pre>
   * 
   * @param x 対象となる行列
   * @param distance 対角からの距離(正:上側、零:対角、負:下側)
   * @return 上三角部分以外をゼロにした行列 (matrix)
   */
  public static DoubleMatrix triu(DoubleMatrix x, int distance) {
    return UpperTriangleMatrix.create(x, distance);
  }

}