Source code for TASSELpy.test.net.maizegenetics.matrixalgebra.decomposition.SingularValueDecompositionTest

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 SingularValueDecompositionTest(unittest.TestCase): """ Tests for SingularValueDecomposition """
[docs] def setUp(self): self.factory = DoubleMatrixFactory(DoubleMatrixFactory.FactoryType.ejml) self.mat = self.factory.diagonal(np.arange(1,7)) self.svd = self.mat.getSingularValueDecomposition()
[docs] def test_getU(self): if debug: print("Testing getU") U = self.svd.getU(False) self.assertIsInstance(U, DoubleMatrix) self.assertEquals(U[0,0],1.) self.assertEquals(U[1,1],1.) self.assertEquals(U[0,1],0.)
[docs] def test_getV(self): if debug: print("Testing getV") V = self.svd.getV(False) self.assertIsInstance(V, DoubleMatrix) self.assertEquals(V[0,0],1.) self.assertEquals(V[1,1],1.) self.assertEquals(V[0,1],0.)
[docs] def test_getS(self): if debug: print("Testing getS") S = self.svd.getS() self.assertIsInstance(S, DoubleMatrix) self.assertEquals(S[0,0],1.) self.assertEquals(S[1,1],2.)
[docs] def test_getSingularValues(self): if debug: print("Testing getSingularValues") singular_vals = self.svd.getSingularValues() self.assertIsInstance(singular_vals, meta_double_array) self.assertEquals(singular_vals[0],1.) self.assertEquals(singular_vals[1],2.)
[docs] def test_getRank(self): if debug: print("Testing getRank") self.assertEquals(self.svd.getRank(),6)
if __name__ == "__main__": debug = True unittest.main(exit = False) TASSELbridge.stop()