anchor.diff:    TSecond = lib_matrix:transpose(Second),
     [?_assertEqual(First,lib_matrix:transpose(TFirst)),
     ?_assertEqual(Second,lib_matrix:transpose(TSecond))].
  +  
  +ones_test_() ->
  +  First = lib_matrix:ones(3, 2, ?INT8),
  +  Second = lib_matrix:new(3, 2, ?INT8, lists:duplicate(6, 1)),
  +  ?_assertEqual(First, Second).
  +
  +eye_test_() ->
  +  First = lib_matrix:eye(3, 2, ?INT8),
  +  Second = lib_matrix:new(3, 2, ?INT8, [1, 0, 0, 1, 0, 0]),
  +  ?_assertEqual(First, Second).
  +
  +zeros_test_() ->
  +  First = lib_matrix:zeros(3, 2, ?INT8),
  +  Second = lib_matrix:new(3, 2, ?INT8, lists:duplicate(6, 0)),
  +  ?_assertEqual(First, Second).  
   
   %% ============================== for inner ==============================
   
  
positive.code:                                 I <- lists:seq(1000200,
                                                 1000200 + 10 * 10 - 1)>>
                      }),
       ?_assertEqual(lib_matrix:add(Init, Init), InitPlus),
       ?_assertEqual(lib_matrix:mult(2, Init), InitPlus)
      ].
  
  insert_row_test_() ->
      List1 = lists:seq(1, 10 * 10),
  
negative.code:                                                 Id * 2
                                          end,
                                          lists:seq(1, 10 * 10))),
      A = lib_matrix:new(2,3,8,lists:seq(1,6)),
      B = lib_matrix:new(3,2,8,lists:seq(1,6)),
      [?_assertEqual(Init, #matrix{
                              column = 10,
                              row = 10,
  