프로그래밍 입장에서 group을 보려고 한다
그렇다면 input과 output은 어떻게 봐야하고 군 G는 어떻게 봐야할까
연산표로 보면 된다

그리고 free group얘기로 넘어감
<x,y|x^2=y^2=1>인 군은 어떤 군일까

phi:Gㅡ>Aut(Z)
(Aut(Z)는 Z사이의 전단사함수들의 모임으로 정의했음)
을 위와 같이 정의하고 Im(phi)=iso(Z)이고 kernel이 trivial이므로 G와 iso(Z)는 동형이다
(iso(Z)는 Z사이의 isometry들의 모임)

같은 군을 표현하는 방법은 여러가지이다
그렇다면 다른 군들의 표현은 어떨까
가환이라면 알아낼 수 있다
하지만 비가환이라면 군의 구조를 알아내는 것은 불가능하다
여기서 불가능하다는 건 수학적으로 알아내는 알고리즘이 존재하지 않는다는 얘기다
즉 어떤 군의 표현이 주어졌을 때 그게 trivial인지 nontrivial인지 알아내는 불가능하다는 얘기다

예를 들어 어떤 군의 표현은 generator가 2개이고 relation이 하나인데 원소가 서로 같은지 같지 않은지 판별하는 것도 불가능한 것으로 알고 있다

다른 교수님이 강연함
Z×Z/<(1,0)>은 Z와 동형임을 직관적으로 쉽게 알 수 있다
그렇다면 Z×Z/<(2,4)>는 어떤 군과 동형일까
직접 hom을 정의해서 first iso thm에 의해 알 수 있다

Z×Z/<(1,0),(0,2)>은 Z2와 동형임을 직관적으로 알 수 있다
그렇다면 Z×Z/<(1,0),(1,2)>는 어떤 군과 동형일까
(1,2)=(1,0)+(0,2)의 linear combination이므로 Z2와 동형임을 쉽게 알 수 있다
따라서 위의 문제와 같이 (1,0),(1,2)처럼 약간 비직관적인 ideal도 (1,0),(0,2)처럼 바꾸면 어떤 군과 동형인지 쉽게 알아낼 수 있다

우리의 목표는 A로 Z^n을 잘랐을 때 어떻게 다른 군과 동형인지 알아내는 것인지 궁금하다

이런 맥락에서 Smith normal form을 소개함

벡터들을 행렬로 바꾼다음 기본 행연산, 열연산을 적용해서 쉬운 형태의 벡터들로 만듦
그리고 기본행렬 elementary matrix는 GL2(Z)의 원소 invertible matrix이니깐 기본행렬 E에 대하여 Z^2=EZ^2가 성립 그리고 다시 quotient취해서 알아낸다는 내용

sage를 jupyter notebook으로 실행하여 코딩해봄
그리고 김민형교수님이 질문
행렬 A를 랜덤하게 줬을 때 어떤 군과 가장 많이 동형이 될까? (이런 내용으로 논문내는 것도 가능하다고 함)

예를 들어 무한군과 동형인 행렬은 얼마나 많을까?
무한군과 동형이려면 행렬A의 Smith normal form의 대각선에 0인 entry가 있어야한다 그러면 행렬식 값은 0이다
하지만 행렬식 값이 정확히 0인 경우는 아마 드물 것이다
그래서 A를 랜덤하게 줬을 때 대부분 유한군일 것이다

그리고 오후수업 때는 다음과 같은 말을 함
order가 8인 nonabelian group은 D8이나 Q8뿐이다
위 내용과 비슷하게 order8인 group은 Cayley thm에 의해 symmetric group의 subgroup으로 볼 수 있다
그러면 symmetric subgroup을 랜덤하게 뽑았을 때 D8, Q8중 어떤 그룹이 더 동형이 될 확률이 높을까?
정확하지는 않지만 D8이 더 높을 것이다
Q8은 order4인 원소가 6개이지만 D8은 2개이므로 Q8과 동형이 되기는 힘들어보이기 때문이다


그리고 다른 대학교 교수님이 order가 p^3인 non abelian group은 Heisenberg group을 포함한 두 가지밖에 없다는 증명을 보여줌
참고논문은 Keith Conrad, Group of order p3





가만히 앉아서 내용 듣는 것도 힘들었지만 뭔가 많이 얻어간 것 같음