ComplexRationalPolynomialMatrix2.java
01 /*
02  * $Id: ComplexRationalPolynomialMatrix2.java,v 1.5 2008/02/02 05:53:02 koga Exp $
03  *
04  * Copyright (C) 2004 Koga Laboratory. All rights reserved.
05  *
06  */
07 package matxbook.chap17;
08 
09 import org.mklab.nfc.matrix.RationalPolynomialMatrix;
10 import org.mklab.nfc.scalar.DoubleComplexNumber;
11 import org.mklab.nfc.scalar.Polynomial;
12 import org.mklab.nfc.scalar.RationalPolynomial;
13 import org.mklab.tool.matrix.Simplify;
14 
15 
16 /**
17  * 実部有理多項式行列と虚部有理多項式行列から複素有理多項式行列を定義するサンプルです。
18  @author koga
19  @version $Revision: 1.5 $, 2004/04/19
20  */
21 public class ComplexRationalPolynomialMatrix2 {
22 
23   /**
24    * メインメソッド
25    
26    @param args コマンドライン引数
27    */
28   @SuppressWarnings("nls")
29   public static void main(String[] args) {
30     Polynomial s = new Polynomial("s");
31     RationalPolynomial a11 = s.add(1).divide(s.add(2));
32     RationalPolynomial a12 = s.add(3).divide(s.add(4));
33     RationalPolynomial a21 = s.add(5).divide(s.add(6));
34     RationalPolynomial a22 = s.add(7).divide(s.add(8));
35     RationalPolynomialMatrix re = new RationalPolynomialMatrix(new RationalPolynomial[][] { {a11, a12}{a21, a22}});
36     RationalPolynomial b11 = s.add(3).divide(s.add(2));
37     RationalPolynomial b12 = s.add(5).divide(s.add(4));
38     RationalPolynomial b21 = s.add(7).divide(s.add(6));
39     RationalPolynomial b22 = s.add(1).divide(s.add(8));
40     RationalPolynomialMatrix im = new RationalPolynomialMatrix(new RationalPolynomial[][] { {b11, b12}{b21, b22}});
41     DoubleComplexNumber i = new DoubleComplexNumber(01);
42     RationalPolynomialMatrix a = (RationalPolynomialMatrix)re.add(im.multiply(i));
43     Simplify.simplify(a).roundToZeroElementWise().print("a");
44   }
45 }