나는 새로 선형대수학에 대해 배우고 삼각형 시스템 구현에 줄리아 lang. 나는 col_bs()함수는 내가 여기에 표시해야 할 수학적 flop 의 개수. 그것이어야 하지 않는 슈퍼 기술 이것은 학습을 위한 목적입니다. 나는 휴식 기능으로 그것이 내가 루프와 외부 j 다. 사이에서 각 플롭,나는 가정은 쓸모가 없기 때문 상수는 일반적으로 떨어졌다 어쨌든.
또한 답을 알고 있어야 합 N^2 이후 이전 버전의 앞으로 대체 알고리즘 N^2 퍼. 내가하기 위해 최선을 다했어 파생 이 N^2 도 사용할 수 있지만 나는 이상한 뉴저지는 계산합니다. 내가 제공하기 위해 노력할 것입니다 모든 작업을 했! 감사한 사람에게 당신을 도움이 됩니다.
function col_bs(U, b)
n = length(b)
x = copy(b)
for j = n:-1:2
if U[j,j] == 0
error("Error: Matrix U is singular.")
end
x[j] = x[j]/U[j,j]
for i=1:j-1
x[i] = x[i] - x[j] * U[i , j ]
end
end
x[1] = x[1]/U[1,1]
return x
end
1: To start 2 flops for the addition and multiplication x[i] - x[j] * U[i , j ]
The $i$ loop does: $$ \sum_{i=1}^{j-1} 2$$
2: 1 flop for the division $$ x[j] / = U[j,j] $$
3: Inside the for $j$ loop in total does: $$ 1 + \sum_{i=1}^{j-1} 2$$
4:The $j$ loop itself does:$$\sum_{j=2}^n ( 1 + \sum_{i=1}^{j-1} 2)) $$
5: Then one final flop for $$ x[1] = x[1]/U[1,1].$$
6: Finally we have
$$\\ 1 + (\sum_{j=2}^n ( 1 + \sum_{i=1}^{j-1} 2))) .$$
Which we can now break down.
If we distribute and simplify
$$\\ 1 + (\sum_{j=2}^n + \sum_{j=2}^n \sum_{i=1}^{j-1} 2) .$$
We can look at only the significant variables and ignore constants,
$$\\
\\ 1 + (n + n(j-1))
\\ n + nj - n
\\ nj
$$
는 다음을 의미하는 경우 우리는 무시 상수를 가장 높은 가능성을 퍼를 이 수식 것$n$(수 있는 힌트를 배경으로 펼쳐집니 나의 함수해야하기 때문에$n^2$의 나머지 부분처럼 우리의 삼각형 시스템 내가 믿)