001/* 002 * $Id$ 003 */ 004 005package edu.jas.vector; 006 007 008import edu.jas.arith.BigInteger; 009import edu.jas.arith.BigRational; 010// import edu.jas.arith.ModInteger; 011 012 013/** 014 * Examples for basic linear algebra. 015 * @author Heinz Kredel 016 */ 017 018public class Examples { 019 020 021 /** 022 * main. 023 */ 024 public static void main(String[] args) { 025 example1(); 026 example2(); 027 example3(); 028 // ComputerThreads.terminate(); 029 } 030 031 032 /** 033 * example1. 034 */ 035 public static void example1() { 036 System.out.println("\n\n example 1"); 037 038 BigInteger cfac; 039 GenMatrixRing<BigInteger> mfac; 040 041 cfac = new BigInteger(); 042 System.out.println("cfac = " + cfac); 043 044 mfac = new GenMatrixRing<BigInteger>(cfac, 5, 5); 045 System.out.println("mfac = " + mfac); 046 047 GenMatrix<BigInteger> m; 048 m = mfac.random(3, 0.4f); 049 System.out.println("\nm = " + m); 050 051 m = m.multiply(m); 052 System.out.println("\nm = " + m); 053 } 054 055 056 /** 057 * example2. 058 */ 059 public static void example2() { 060 System.out.println("\n\n example 2"); 061 062 BigRational cfac; 063 GenMatrixRing<BigRational> mfac; 064 065 cfac = new BigRational(); 066 System.out.println("cfac = " + cfac); 067 068 mfac = new GenMatrixRing<BigRational>(cfac, 5, 5); 069 System.out.println("mfac = " + mfac); 070 071 GenMatrix<BigRational> m; 072 m = mfac.random(3, 0.4f); 073 System.out.println("\nm = " + m); 074 075 m = m.multiply(m); 076 System.out.println("\nm = " + m); 077 } 078 079 080 public static void example3() { 081 System.out.println("\n\n example 3"); 082 BigRational r1, r2, r3, r4, r5, r6, fac; 083 r1 = new BigRational(1, 10); 084 r2 = new BigRational(6, 5); 085 r3 = new BigRational(1, 9); 086 r4 = new BigRational(1, 1); 087 r5 = r2.sum(r3); 088 r6 = r1.multiply(r4); 089 090 fac = new BigRational(); 091 092 BigRational[][] aa = new BigRational[][] { { r1, r2, r3 }, { r4, r5, r6 }, { r2, r1, r3 } }; 093 GenMatrixRing<BigRational> mfac = new GenMatrixRing<BigRational>(fac, aa.length, aa[0].length); 094 GenMatrix<BigRational> a = new GenMatrix<BigRational>(mfac, aa); 095 System.out.println("system = " + a); 096 097 BigRational[] ba = new BigRational[] { r1, r2, r3 }; 098 GenVectorModul<BigRational> vfac = new GenVectorModul<BigRational>(fac, ba.length); 099 GenVector<BigRational> b = new GenVector<BigRational>(vfac, ba); 100 System.out.println("right hand side = " + b); 101 102 LinAlg<BigRational> lu = new LinAlg<BigRational>(); 103 GenVector<BigRational> x = lu.solve(a, b); 104 System.out.println("solution = " + x); 105 } 106 107}