LU decomposition: Difference between revisions
Content deleted Content added
m Removed unnecessary code |
m Minor edit to C++ code |
||
Line 629:
for (const auto& row : values) {
assert(row.size() <= columns_);
std::copy(begin(row), end(row),
}
}
Line 636:
size_t columns() const { return columns_; }
const scalar_type
assert(row < rows_);
}
assert(row < rows_);
▲ return &elements_[row * columns_];
assert(column < columns_);
return
}
private:
Line 668 ⟶ 661:
matrix<scalar_type> c(arows, bcolumns);
for (size_t i = 0; i < arows; ++i) {
for (size_t j = 0; j < n; ++j) {
for (size_t k = 0; k < bcolumns; ++k)
}
}
Line 687 ⟶ 677:
if (column > 0)
out << ' ';
out << std::setw(8) << a
}
out << '\n';
Line 702 ⟶ 692:
size_t max_index = column;
for (size_t row = column; row < rows; ++row) {
if (m
max_index = row;
}
Line 710 ⟶ 700:
matrix<scalar_type> pivot(rows, rows);
for (size_t i = 0; i < rows; ++i)
pivot
return pivot;
}
Line 723 ⟶ 713:
matrix<scalar_type> upper(n, n);
for (size_t j = 0; j < n; ++j) {
lower
for (size_t i = 0; i <= j; ++i) {
scalar_type value = input1
for (size_t k = 0; k < i; ++k)
value -= upper
upper
}
for (size_t i = j; i < n; ++i) {
scalar_type value = input1
for (size_t k = 0; k < j; ++k)
value -= upper
value /= upper
lower
}
}
|