LeftDivideSample4.java
01 /*
02  * $Id: LeftDivideSample4.java,v 1.7 2008/02/02 03:06:27 koga Exp $
03  *
04  * Copyright (C) 2004 Koga Laboratory. All rights reserved.
05  *
06  */
07 package matxbook.chap08;
08 
09 import org.mklab.nfc.eig.QRDecomposition;
10 import org.mklab.nfc.matrix.DoubleMatrix;
11 
12 
13 /**
14  * QR分解による左からの割り算のサンプルです。
15  @author koga
16  @version $Revision: 1.7 $, 2004/04/15
17  */
18 public class LeftDivideSample4 {
19 
20   /**
21    * メインメソッド
22    
23    @param args コマンドライン引数
24    */
25   @SuppressWarnings("nls")
26   public static void main(String[] args) {
27     DoubleMatrix a = new DoubleMatrix(new double[][] { {123}{456}{789}{101112}});
28     DoubleMatrix b = new DoubleMatrix(new double[] {1357}).transpose();
29     QRDecomposition<DoubleMatrix> qr = a.qrDecompose();
30     DoubleMatrix q = qr.getQ();
31     DoubleMatrix r = qr.getR();
32     DoubleMatrix y = q.transpose().multiply(b);
33     DoubleMatrix x = r.leftDivide(y);
34     x.print("x");
35   }
36 }