@@ 197-206 (lines=10) @@ | ||
194 | } |
|
195 | for ($k = $nct - 1; $k >= 0; --$k) { |
|
196 | if ($this->s[$k] != 0.0) { |
|
197 | for ($j = $k + 1; $j < $nu; ++$j) { |
|
198 | $t = 0; |
|
199 | for ($i = $k; $i < $this->m; ++$i) { |
|
200 | $t += $this->U[$i][$k] * $this->U[$i][$j]; |
|
201 | } |
|
202 | $t = -$t / $this->U[$k][$k]; |
|
203 | for ($i = $k; $i < $this->m; ++$i) { |
|
204 | $this->U[$i][$j] += $t * $this->U[$i][$k]; |
|
205 | } |
|
206 | } |
|
207 | for ($i = $k; $i < $this->m; ++$i) { |
|
208 | $this->U[$i][$k] = -$this->U[$i][$k]; |
|
209 | } |
@@ 85-94 (lines=10) @@ | ||
82 | } |
|
83 | $this->QR[$k][$k] += 1.0; |
|
84 | // Apply transformation to remaining columns. |
|
85 | for ($j = $k + 1; $j < $this->n; ++$j) { |
|
86 | $s = 0.0; |
|
87 | for ($i = $k; $i < $this->m; ++$i) { |
|
88 | $s += $this->QR[$i][$k] * $this->QR[$i][$j]; |
|
89 | } |
|
90 | $s = -$s / $this->QR[$k][$k]; |
|
91 | for ($i = $k; $i < $this->m; ++$i) { |
|
92 | $this->QR[$i][$j] += $s * $this->QR[$i][$k]; |
|
93 | } |
|
94 | } |
|
95 | } |
|
96 | $this->Rdiag[$k] = -$nrm; |
|
97 | } |