1#! /usr/bin/env python 2 3from __future__ import print_function 4from openturns import * 5 6TESTPREAMBLE() 7 8try: 9 matrix1 = SquareMatrix(2) 10 matrix1.setName("matrix1") 11 matrix1[0, 0] = 1.0 12 matrix1[1, 0] = 2.0 13 matrix1[0, 1] = 5.0 14 matrix1[1, 1] = 12.0 15 print("matrix1 = ", matrix1) 16 17 pt = Point() 18 pt.add(5.0) 19 pt.add(0.0) 20 print("pt = ", pt) 21 22 result = matrix1.solveLinearSystem(pt) 23 print("result = ", result) 24 25 determinant = matrix1.computeDeterminant() 26 print("determinant = %.6g" % determinant) 27 28 ev = matrix1.computeEigenValues() 29 print("ev = ", ev) 30 ev, evect = matrix1.computeEV() 31 print("ev=", ev) 32 print("evect=", evect) 33 print("evect=") 34 print(evect.__str__()) 35 maxModule = matrix1.computeLargestEigenValueModule(10, 1e-2) 36 print("max |ev|=%.6g" % maxModule) 37 38 # Check the high dimension determinant computation 39 matrix2 = SquareMatrix(3) 40 matrix2[0, 0] = 1.0 41 matrix2[0, 1] = 2.0 42 matrix2[0, 2] = 3.0 43 matrix2[1, 0] = -1.5 44 matrix2[1, 1] = 2.5 45 matrix2[1, 2] = -3.5 46 matrix2[2, 0] = 1.5 47 matrix2[2, 1] = -3.5 48 matrix2[2, 2] = 2.5 49 50 print("matrix2=") 51 print(matrix2.__str__()) 52 # Need a specific Python wrapping, e.g returning both value and sign 53 # sign = 0.0 54 # value = matrix2.computeLogAbsoluteDeterminant(sign) 55 # print "log(|det|)=", value, ", sign=", sign 56 determinant = matrix2.computeDeterminant() 57 print("determinant = %.6g" % determinant) 58 59except: 60 import sys 61 print("t_SquareMatrixLapack_std.py", sys.exc_info()[0], sys.exc_info()[1]) 62