private void seedTestInvertRight( long seed ) throws NotInvertibleException {
		
		final Random rand = new Random();
		
		rand.setSeed( seed );
		
		final TestDimensionTwo td = new TestDimensionTwo();
		
		final DoubleElemFactory dl = new DoubleElemFactory();
		
		final SquareMatrixElemFactory<TestDimensionTwo,DoubleElem,DoubleElemFactory> se = 
				new SquareMatrixElemFactory<TestDimensionTwo,DoubleElem,DoubleElemFactory>(dl, td);
		
		final SquareMatrixElemFactory<TestDimensionTwo,
			SquareMatrixElem<TestDimensionTwo,DoubleElem,DoubleElemFactory>,SquareMatrixElemFactory<TestDimensionTwo,DoubleElem,DoubleElemFactory>> se2 = 
				new SquareMatrixElemFactory<TestDimensionTwo,
				SquareMatrixElem<TestDimensionTwo,DoubleElem,DoubleElemFactory>,SquareMatrixElemFactory<TestDimensionTwo,DoubleElem,DoubleElemFactory>>(se, td);
		
		final SquareMatrixElem<TestDimensionTwo, 
			SquareMatrixElem<TestDimensionTwo, DoubleElem, DoubleElemFactory>, 
			SquareMatrixElemFactory<TestDimensionTwo, DoubleElem, DoubleElemFactory>> mat = se2.zero();
		
		int i;
		int j;
		
		for( i = 0 ; i < 2 ; i++ )
		{
			for( j = 0 ; j < 2 ; j++ )
			{
				SquareMatrixElem<TestDimensionTwo,DoubleElem,DoubleElemFactory> val = generateMat( rand , se );
				mat.setVal( BigInteger.valueOf(i) , BigInteger.valueOf(j) , val );
			}
		}
		
		mat.validate();
		
		final SquareMatrixElem<TestDimensionTwo, 
			SquareMatrixElem<TestDimensionTwo, DoubleElem, DoubleElemFactory>, 
			SquareMatrixElemFactory<TestDimensionTwo, DoubleElem, DoubleElemFactory>> inv = mat.invertRight();
		
		final SquareMatrixElem<TestDimensionTwo, 
			SquareMatrixElem<TestDimensionTwo, DoubleElem, DoubleElemFactory>, 
			SquareMatrixElemFactory<TestDimensionTwo, DoubleElem, DoubleElemFactory>> shouldBeIdent = mat.mult( inv );
		
		
		mat.validate();
		inv.validate();
		shouldBeIdent.validate();
		
	
		
		for( i = 0 ; i < 2 ; i++ )
		{
			for( j = 0 ; j < 2 ; j++ )
			{
				
				
				int i2;
				int j2;
				
				for( i2 = 0 ; i2 < 2 ; i2++ )
				{
					for( j2 = 0 ; j2 < 2 ; j2++ )
					{
						final double matchVal = ( i == j ) && ( i2 == j2 ) ? 1.0 : 0.0;
						
						Assert.assertEquals( matchVal , 
								shouldBeIdent.getVal(BigInteger.valueOf(i) , BigInteger.valueOf(j)  ).
								getVal(BigInteger.valueOf(i2) , BigInteger.valueOf(j2)  ).getVal() , 1E-7 );
						
					}
				}
			}
		}
		
	}