Ask Your Question

Revision history [back]

Use of Tiling solver for the Soma cube ?

Hi, i'm new in SageMath and i try to use the Tiling Solver. I failed to retrieve the 240 expected solutions of the Soma Cube (see the Wikipedia page of it, sadmy my "Karma" is not good enough to share links with you...)

Here's what I've done so far :

from sage.combinat.tiling import TilingSolver, Polyomino from sage.all_cmdline import * # import sage library

P1 = Polyomino([(0,0,0), (0,0,1), (0,1,0)], color='red') P2 = Polyomino([(0,0,0), (0,0,1), (0,1,0), (0,2,0)], color='red') P3 = Polyomino([(0,0,0), (0,1,1), (0,1,0), (0,2,0)], color='red') P4 = Polyomino([(0,0,1), (0,1,1), (0,1,0), (0,2,0)], color='red') P5 = Polyomino([(0,0,0), (0,0,1), (1,0,1), (1,1,1)], color='red') P6 = Polyomino([(0,0,0), (0,0,1), (1,0,1), (1,1,1)], color='red') P7 = Polyomino([(0,0,0), (1,0,1), (1,0,0), (1,1,0)], color='red')

# These two lines chek that the polyomino are the ones expected G = P1.show3d() G.show(aspect_ratio=1, viewer='jmol')

T = TilingSolver([P1, P2, P3, P4, P5, P6, P7], box=(3,3,3))

T.number_of_solutions() # returns 15 504 instead of 240 ??

Perhaps some cube symetries are taken into account, but 15 504 / 240 = 64.6....

Do you have any ideas here ?

Thanks a lot !

BR

Pierre

Use of Tiling solver for the Soma cube ?

Hi, i'm new in SageMath and i try to use the Tiling Solver. I failed to retrieve the 240 expected solutions of the Soma Cube (see the Wikipedia page of it, sadmy my "Karma" is not good enough to share links with you...)

Here's what I've done so far :

from sage.combinat.tiling import
  import TilingSolver, Polyomino from
  Polyomino
from sage.all_cmdline import *   # import
  import sage library

library P1 = Polyomino([(0,0,0), (0,0,1), (0,0,1), (0,1,0)], color='red') color='red') P2 = Polyomino([(0,0,0), (0,0,1), (0,1,0), = Polyomino([(0,0,0), (0,0,1), (0,1,0), (0,2,0)], color='red') color='red') P3 = = Polyomino([(0,0,0), (0,1,1), (0,1,0), (0,1,0), (0,2,0)], color='red') color='red') P4 = = Polyomino([(0,0,1), (0,1,1), (0,1,0), (0,1,0), (0,2,0)], color='red') color='red') P5 = Polyomino([(0,0,0), (0,0,1), (1,0,1), = Polyomino([(0,0,0), (0,0,1), (1,0,1), (1,1,1)], color='red') color='red') P6 = Polyomino([(0,0,0), (0,0,1), (1,0,1), = Polyomino([(0,0,0), (0,0,1), (1,0,1), (1,1,1)], color='red') color='red') P7 = = Polyomino([(0,0,0), (1,0,1), (1,0,0), (1,0,0), (1,1,0)], color='red')

color='red') # These two lines chek let me check that the polyomino Polyomino are the ones expected expected... # G = P1.show3d() # G.show(aspect_ratio=1, viewer='jmol')

viewer='jmol') T = TilingSolver([P1, P2, P3, P4, P5, P5, P6, P7], box=(3,3,3))

T.number_of_solutions() # returns box=(3,3,3)) T.number_of_solutions() # Expected : 240 but got 15 504 instead of 240 ??

504...

Perhaps some cube symetries are taken into account, but 15 504 / 240 = 64.6....

Do you have any ideas here ?

Thanks a lot !

BR

Pierre