From 5b7c29a2621d8eb41440ada4044abcb0600f39e7 Mon Sep 17 00:00:00 2001 From: Lukasz M Date: Thu, 31 Mar 2022 11:42:29 +0200 Subject: [PATCH] abstracted random matrix generation to a separate function genmatrix --- linalg-practice.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/linalg-practice.py b/linalg-practice.py index 59f663f..2b2c8f3 100644 --- a/linalg-practice.py +++ b/linalg-practice.py @@ -2,6 +2,14 @@ import sympy as sp import time import random +def genmatrix(rowcol, intmax, dif) : + # generate a random matrices + a = sp.randMatrix(rowcol, rowcol, 0, intmax) + # if determinant non-zero, radnom value less than difficulty, set a to its inverse + if a.det() != 0 and random.random() <= dif : + a = a.inv() + return a + # in function to take arbitrary matrix input from user def inmat(rowcol) : # initialise list of lists @@ -70,13 +78,8 @@ def practice(t) : # infinite loop of practice while True : - # generate a random matrices - a = sp.randMatrix(rowcol, rowcol, 0, intmax) - b = sp.randMatrix(rowcol, rowcol, 0, intmax) - - # if determinant non-zero, radnom value less than difficulty, set a to its inverse - if a.det() != 0 and random.random() <= dif : - a = a.inv() + a = genmatrix(rowcol, intmax, dif) + b = genmatrix(rowcol, intmax, dif) # infinite loop until user succeeds while True :