Tril.java

/*
 * $Id: Tril.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.LowerTriangleMatrix;


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

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

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