Теория групп очень важна в криптографии, например, особенно в конечных группах в схемах асимметричного шифрования, таких как RSA и Эль-Гамаль. В них используются конечные группы, основанные на умножении целых чисел. Однако есть и другие, менее очевидные виды групп, которые применяются в криптографии, например эллиптические кривые.
Еще одним приложением теории групп или, если быть более точным, конечных полей являются контрольные суммы. Широко используемый механизм контрольных сумм CRC основан на модульной арифметике в кольце полиномов конечного поля GF(2).
Еще одно более абстрактное применение теории групп — функциональное программирование. На самом деле все эти приложения существуют на любом языке программирования, но функциональные языки программирования, особенно Haskell и Scala(z), охватывают его, предоставляя классы типов для алгебраических структур, таких как моноиды, группы, кольца, поля, векторные пространства и т. д. . Преимущество этого, очевидно, состоит в том, что функции и алгоритмы могут быть определены очень общим, высокоуровневым способом.
На мета-уровне я бы также сказал, что понимание базовой математики, подобное этому, важно для любого ученого-компьютерщика (не столько для программиста, сколько для ученого-компьютерщика — определенно), поскольку оно формирует весь ваш образ мышления. и необходим для более продвинутой математики. Если вы хотите заниматься 3D-графикой или программировать промышленного робота, вам понадобится линейная алгебра, а для линейной алгебры вы должны хотя бы немного знать абстрактную алгебру.
person
Manuel Eberl
schedule
23.05.2013