Source code for mechelastic.tests.eigenvals

#!/usr/bin/env python

import numpy as np


[docs]def positive_evals(cnew, verbose=True): """This method checks the postivity of the eigenvalues of a matrix.""" to_print = "" to_print += "\nEigen Values of the matrix CNEW: " evals = np.linalg.eigvals(cnew) to_print += ("%s" % list(np.around(np.array(evals), 3))) + "\n" check = 0 for i in range(len(evals)): if evals[i] > 0.0: pass else: check = 1 if check == 1: to_print += "ATTENTION: One or more eigen values are negative indicating elastic instability.\n" if check == 0: to_print += "All eigen values are positive indicating elastic stability.\n" if verbose: print(to_print) return not (bool(check))