gf(2) Square-free factorization (sff)
Find and remove all squared factors from f.
f = b01100101111011100110101111011010000010110011001001000101010110010110011000011000010110011110101111110011001001101000101101001001
f = 0x65ee6bda0b324559661859ebf3268b49
f = x126 + x125 + x122 + x120 + x119 + x118 + x117 + x115 + x114 + x113 + x110 + x109 + x107 + x105 + x104 + x103 + x102 + x100 + x99 + x97 + x91 + x89 + x88 + x85 + x84 + x81 + x78 + x74 + x72 + x70 + x68 + x67 + x64 + x62 + x61 + x58 + x57 + x52 + x51 + x46 + x44 + x43 + x40 + x39 + x38 + x37 + x35 + x33 + x32 + x31 + x30 + x29 + x28 + x25 + x24 + x21 + x18 + x17 + x15 + x11 + x9 + x8 + x6 + x3 + 1
Find the derivative of f (f')
f' = b00010000010101010001010101000101000001010001000100000000000001000001000100000100000001000101010101010001000100010100010100000100
f' = 0x10551545051100041104045551114504
f' = x124 + x118 + x116 + x114 + x112 + x108 + x106 + x104 + x102 + x98 + x96 + x90 + x88 + x84 + x80 + x66 + x60 + x56 + x50 + x42 + x38 + x36 + x34 + x32 + x30 + x28 + x24 + x20 + x16 + x14 + x10 + x8 + x2
Since f' does not equal zero, find g=gcd(f,f')
g = b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
g = 0x00000000000000000000000000000001
g = 1
Since g equals one, f has no square factors.
Result (f factored into square-free factors)
f = (b01100101111011100110101111011010000010110011001001000101010110010110011000011000010110011110101111110011001001101000101101001001)
f = (0x65ee6bda0b324559661859ebf3268b49)
f = (x126 + x125 + x122 + x120 + x119 + x118 + x117 + x115 + x114 + x113 + x110 + x109 + x107 + x105 + x104 + x103 + x102 + x100 + x99 + x97 + x91 + x89 + x88 + x85 + x84 + x81 + x78 + x74 + x72 + x70 + x68 + x67 + x64 + x62 + x61 + x58 + x57 + x52 + x51 + x46 + x44 + x43 + x40 + x39 + x38 + x37 + x35 + x33 + x32 + x31 + x30 + x29 + x28 + x25 + x24 + x21 + x18 + x17 + x15 + x11 + x9 + x8 + x6 + x3 + 1)
See also: