나누고 정복 을 기반으로 하는 행렬 곱셈 알고리즘입니다. 방법. 같은 크기의 두 행렬을 곱하는 데 사용됩니다.
두 행렬의 곱셈 구하기-
스트라센의 알고리즘 곱셈을 단순화하여 곱셈에 대한 오버헤드를 줄입니다.
다음은 strassen 알고리즘 을 사용한 곱셈입니다.
M1 =a*(f - h)
M2 =(a + b)*h
M3 =(c + d)*e
M4 =d*(g - e)
M5 =(a + d)*(e + h)
M6 =(b - d)*(g + h)
M7 =(a - c)*(e + f)
이것은 쉽게 기억할 수 있고 알고리즘 코드를 디코딩할 수 있습니다. 이를 위해 몇 가지 규칙이 있습니다. 먼저 다음 6가지를 기억하십시오-
- AHED 사용 M의 처음 4개 값에 대해.
- 대각선 곱셈 사용 M의 5번째 값에 대해.
- M의 6번째 값에 대해 마지막 CR(매트 1의 마지막 열 및 매트 2의 마지막 행)을 사용합니다.
- M의 7번째 값에 대해 첫 번째 CR(매트 1의 첫 번째 열 및 매트 2의 첫 번째 행)을 사용합니다.
- 행의 요소를 고려하면서 추가하고 열의 경우 뺍니다.
- 인접한 값을 사용하여 이후에 값을 업데이트합니다.
이러한 방법을 사용하면 값을 쉽게 기억할 수 있습니다.