Source code for TASSELpy.test.net.maizegenetics.matrixalgebra.decomposition.EigenvalueDecompositionTest
import unittest
import javabridge
import numpy as np
from TASSELpy.TASSELbridge import TASSELbridge
try:
try:
javabridge.get_env()
except AttributeError:
TASSELbridge.start()
except AssertionError:
TASSELbridge.start()
except:
raise RuntimeError("Could not start JVM")
from TASSELpy.net.maizegenetics.matrixalgebra.Matrix.DoubleMatrixFactory import DoubleMatrixFactory
from TASSELpy.net.maizegenetics.matrixalgebra.Matrix.DoubleMatrix import DoubleMatrix
from TASSELpy.utils.primativeArray import meta_double_array
debug = False
[docs]class EigenvalueDecompositionTest(unittest.TestCase):
""" Tests for EigenvalueDecomposition """
[docs] def setUp(self):
self.factory = DoubleMatrixFactory(DoubleMatrixFactory.FactoryType.ejml)
self.mat = self.factory.diagonal(np.arange(1,7))
self.eig = self.mat.getEigenvalueDecomposition()
[docs] def test_getEigenvalues(self):
if debug: print("Testing getEigenvalues")
eigvals = self.eig.getEigenvalues()
self.assertIsInstance(eigvals, meta_double_array)
self.assertEquals(eigvals[0],1.)
self.assertEquals(eigvals[1],2.)
[docs] def test_getEigenvalue(self):
if debug: print("Testing getEigenvalue")
self.assertEquals(self.eig.getEigenvalue(0),1.)
self.assertEquals(self.eig.getEigenvalue(1),2.)
[docs] def test_getEigenvectors(self):
if debug: print("Testing getEigenvectors")
evecs = self.eig.getEigenvectors()
self.assertIsInstance(evecs, DoubleMatrix)
self.assertEquals(evecs[0,0],1.)
self.assertEquals(evecs[0,1],0.)
self.assertEquals(evecs[1,1],1.)
[docs] def test_getEigenvalueMatrix(self):
if debug: print("Testing getEigenvalueMatrix")
evals = self.eig.getEigenvalueMatrix()
self.assertIsInstance(evals, DoubleMatrix)
self.assertEquals(evals[0,0],1.)
self.assertEquals(evals[1,1],2.)
if __name__ == "__main__":
debug = True
unittest.main(exit = False)
TASSELbridge.stop()