An encoder allowing varying a coding rate between a first coding rate and a second coding rate, the second coding rate being higher than the first coding rate, the encoder comprising: a coding section that is adapted to generate, from an information bit sequence u rate, a coded sequence s that is made up of z×n b bits and satisfies equation 1-1, equation 1-2 and equation 1-3, the coded sequence including information bits and parity bits, a selecting section that is adapted, to select which groups of consecutive groups of z bits are to be punctured from the coded sequence s, a puncturing section that is adapted, when the encoding is to be performed with the second coding rate, to puncture the groups of bits selected in the selecting section, and output the punctured coded sequence as an output of the encoder, wherein the selecting section is adapted to select for the puncturing a second number of said groups of z bits corresponding to the second number of non-adjacent column groups of z columns in a submatrix H' b2 made up of unit submatrixes of z rows and z columns and zero submatrixes of z rows and z columns in a parity bit submatrix in a parity check matrix H, and a first number of the groups of z bits corresponding to the first number of column groups of z columns from a plurality of column groups of z columns having column weight of 3 or more in a submatrix H' b1 made up of an information bit submatrix in the parity check matrix H and a vector h b being a group of z columns adjacent to the information bit submatrix in the parity check matrix H, for each row group of z rows in the parity check matrix H, not more than one column group from said first number of the column groups in the submatrix H' b1 and said second number of the column groups in the submatrix H' b2 includes a non-zero submatrix of z rows and z columns in said row group; and GH T = 0 s T = Gu T Hs = 0 where H is the parity check matrix of a low density parity check code of z×m b rows and z×n b columns configured by arranging submatrixes of z rows and z columns in m b row groups and n b column groups, each of the submatrixes of z rows and z columns is the zero submatrix, or the unit submatrix, or the submatrix formed by cyclically shifting the unit matrix, the parity bit submatrix is composed of the vector h b and the submatrix H' b2; the submatrix H' b2 has unit submatrixes of z rows and z columns on a main diagonal and on its adjacent parallel diagonal and zero elements outside of the main diagonal and its adjacent parallel diagonal. a coding section that is adapted to generate, from an information bit sequence u rate, a coded sequence s that is made up of z×n b bits and satisfies equation 1-1, equation 1-2 and equation 1-3, the coded sequence including information bits and parity bits, a selecting section that is adapted, to select which groups of consecutive groups of z bits are to be punctured from the coded sequence s, a puncturing section that is adapted, when the encoding is to be performed with the second coding rate, to puncture the groups of bits selected in the selecting section, and output the punctured coded sequence as an output of the encoder, wherein the selecting section is adapted to select for the puncturing a second number of said groups of z bits corresponding to the second number of non-adjacent column groups of z columns in a submatrix H' b2 made up of unit submatrixes of z rows and z columns and zero submatrixes of z rows and z columns in a parity bit submatrix in a parity check matrix H, and a first number of the groups of z bits corresponding to the first number of column groups of z columns from a plurality of column groups of z columns having column weight of 3 or more in a submatrix H' b1 made up of an information bit submatrix in the parity check matrix H and a vector h b being a group of z columns adjacent to the information bit submatrix in the parity check matrix H, for each row group of z rows in the parity check matrix H, not more than one column group from said first number of the column groups in the submatrix H' b1 and said second number of the column groups in the submatrix H' b2 includes a non-zero submatrix of z rows and z columns in said row group; and GH T = 0 s T = Gu T Hs = 0 where H is the parity check matrix of a low density parity check code of z×m b rows and z×n b columns configured by arranging submatrixes of z rows and z columns in m b row groups and n b column groups, each of the submatrixes of z rows and z columns is the zero submatrix, or the unit submatrix, or the submatrix formed by cyclically shifting the unit matrix, the parity bit submatrix is composed of the vector h b and the submatrix H' b2; the submatrix H' b2 has unit submatrixes of z rows and z columns on a main diagonal and on its adjacent parallel diagonal and zero elements outside of the main diagonal and its adjacent parallel diagonal.