def test_DLLM_wrapper_json_valid_grad(self):
      DLLMWrap = DLLMWrapper('test', verbose=0)
      DLLMWrap.config_from_file('conf_file.json')
      DLLMWrap.set_out_format('numpy')
      DLLMWrap.set_grad_format('numpy')
 
      x0=DLLMWrap.get_x0()
       
      DLLMWrap.analysis()
       
      Ref_list=DLLMWrap.get_F_list()
       
      def f(x):
          DLLMWrap.run(x)
          func=DLLMWrap.get_F_list()
          return func/Ref_list
         
      def df(x):
          DLLMWrap.run_grad(x)
          func_grad=np.array(DLLMWrap.get_F_list_grad())
          N = func_grad.shape[0]
          ndv = func_grad.shape[1]
          out_grad = np.zeros((N,ndv))
          for i in xrange(N):
              out_grad[i,:] = func_grad[i,:]/Ref_list[i]
          return out_grad
     
      val_grad=FDValidGrad(2,f,df,fd_step=1.e-8)
      ok,df_fd,df=val_grad.compare(x0,treshold=1.e-5,split_out=True,return_all=True)
      assert(ok)
 def test_DLLM_wrapper_TLift_valid_grad(self):
     config_dict = self.__get_base_config_dict()
     config_dict['test.DLLM.type']='TargetLift'
     config_dict['test.DLLM.target_Lift']=769200.
     
     DLLMWrap = DLLMWrapper('test', verbose=0)
     DLLMWrap.configure(config_dict)
     DLLMWrap.set_out_format('numpy')
     DLLMWrap.set_grad_format('numpy')
     
     x0=DLLMWrap.get_x0()
      
     DLLMWrap.analysis()
      
     Ref_list=DLLMWrap.get_F_list()
      
     def f(x):
         DLLMWrap.run(x)
         func=DLLMWrap.get_F_list()
         return func/Ref_list
        
     def df(x):
         DLLMWrap.run_grad(x)
         func_grad=np.array(DLLMWrap.get_F_list_grad())
         N = func_grad.shape[0]
         ndv = func_grad.shape[1]
         out_grad = np.zeros((N,ndv))
         for i in xrange(N):
             out_grad[i,:] = func_grad[i,:]/Ref_list[i]
         return out_grad
    
     val_grad=FDValidGrad(2,f,df,fd_step=1.e-8)
     ok,df_fd,df=val_grad.compare(x0,treshold=1.e-5,split_out=True,return_all=True)
     assert(ok)