Chol.java

/*
 * $Id: Chol.java,v 1.26 2008/07/16 15:40:00 koga Exp $
 * 
 * Copyright (C) 2004 Koga Laboratory. All rights reserved.
 */
package org.mklab.tool.matrix;

import org.mklab.nfc.matrix.DoubleMatrix;


/**
 * コレスキー分解を求めるクラスです。
 * 
 * <p> Cholesky decomposition
 * 
 * @author koga
 * @version $Revision: 1.26 $
 */
public class Chol {

  /**
   * 対称行列<code>X</code>のコレスキー分解を計算します。 もし、<code>X</code>が正定なら、
   * 
   * <blockquote><code> R = chol(X) </code></blockquote>
   * 
   * は、<code>R'*R = X</code>を満たす、上三角行列<code>R</code>を求めます。
   * 
   * <p>このメソッドは<code>X</code>の対角と上三角部分のみを利用します。 下三角部分は、上三角部分の転置であると仮定されます。
   * 
   * @param X 対象となる行列
   * @return R コレスキー分解 (cholesky decomposition)
   */
  public static DoubleMatrix chol(DoubleMatrix X) {
    return X.choleskyDecompose();
  }
}