def test_satisfy_inter(self):
   v_space = VectorSpace(QQ,4)
   sub = v_space.subspace([[1,-1,1,1],[2,-3,4,5]])
   comp = orth_complement(v_space,sub)
   zero = v_space.subspace([v_space.zero()])
   inter = sub.intersection(comp)
   self.assertEqual(zero,inter)
 def test_satisfy_sum(self):
   v_space = VectorSpace(QQ,4)
   sub = v_space.subspace([[1,1,1,-1],[2,-3,41,5]])
   comp = orth_complement(v_space,sub)
   self.assertEqual(v_space,sub+comp)
 def test_comp(self):
   v_space = VectorSpace(QQ,4)
   sub = v_space.subspace([[1,1,1,1],[2,2,-3,-1]])
   comp = orth_complement(v_space,sub)
   true_comp = v_space.subspace([[19,-17,3,-5],[1,-1,0,0]])
   self.assertEqual(comp,true_comp)
 def test_full(self):
   v_space = VectorSpace(QQ,4)
   zero = v_space.subspace([v_space.zero()])
   comp = orth_complement(v_space,v_space)
   self.assertEqual(zero,comp)