Linear codes, general Error-correcting codes mathematics