IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an email to s dot adaszewski at gmail dot com. User accounts are meant only to report issues and/or generate pull requests. This is a purpose-specific Git hosting for ADARED projects. Thank you for your understanding!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1017B

  1. from triacontagon.split import split_adj_mat
  2. from triacontagon.util import _equal
  3. import torch
  4. def test_split_adj_mat_01():
  5. adj_mat = torch.tensor([
  6. [0, 1, 0, 0, 1],
  7. [0, 0, 1, 0, 1],
  8. [1, 0, 0, 1, 0],
  9. [0, 0, 1, 1, 0]
  10. ]).to_sparse()
  11. (res,) = split_adj_mat(adj_mat, (1.,))
  12. assert torch.all(_equal(res, adj_mat))
  13. def test_split_adj_mat_02():
  14. adj_mat = torch.tensor([
  15. [0, 1, 0, 0, 1],
  16. [0, 0, 1, 0, 1],
  17. [1, 0, 0, 1, 0],
  18. [0, 0, 1, 1, 0]
  19. ]).to_sparse()
  20. a, b = split_adj_mat(adj_mat, ( .5, .5 ))
  21. assert torch.all(_equal(a+b, adj_mat))
  22. def test_split_adj_mat_03():
  23. adj_mat = torch.tensor([
  24. [0, 1, 0, 0, 1],
  25. [0, 0, 1, 0, 1],
  26. [1, 0, 0, 1, 0],
  27. [0, 0, 1, 1, 0]
  28. ]).to_sparse()
  29. a, b, c = split_adj_mat(adj_mat, ( .8, .1, .1 ))
  30. print('a:', a.to_dense(), 'b:', b.to_dense(), 'c:', c.to_dense())
  31. assert torch.all(_equal(a+b+c, adj_mat))