Conjugate transpose: Difference between revisions
m
Added constructor taking an initializer list to C++ complex_matrix class
m (C++ code made slightly shorter) |
m (Added constructor taking an initializer list to C++ complex_matrix class) |
||
Line 332:
complex_matrix(size_t rows, size_t columns)
: rows_(rows), columns_(columns), elements_(rows * columns) {}
elements_.resize(rows * columns);▼
}▼
complex_matrix(size_t rows, size_t columns, element_type value)
: rows_(rows), columns_(columns), elements_(rows * columns, value) {}
complex_matrix(size_t rows, size_t columns,
const std::initializer_list<std::initializer_list<element_type>>& values)
assert(values.size() <= rows_);
size_t i = 0;
for (const auto& row : values) {
assert(row.size() <= columns_);
std::copy(begin(row), end(row), row_data(i++));
}
▲ }
size_t rows() const { return rows_; }
Line 366 ⟶ 376:
a.elements_ == b.elements_;
}
private:
size_t rows_;
Line 480 ⟶ 491:
int main() {
using matrix = complex_matrix<double>
matrix matrix1
double n = std::sqrt(0.5);
matrix matrix2
matrix matrix3
{{2, -1}, {4, 1}, {0, 0}},
test(matrix1);
|