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[][] { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}});
28 DoubleMatrix b = new DoubleMatrix(new double[] {1, 3, 5, 7}).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 }
|