From 115cc01f7908830ef645b4659c5bc0524d9798b1 Mon Sep 17 00:00:00 2001 From: Micke Nordin Date: Mon, 18 Jul 2022 15:41:22 +0200 Subject: [PATCH] Change matrix examples --- README.md | 46 ++++++++++++++++++++++++---------------------- matrix.cpp | 46 ++++++++++++++++++++++++---------------------- 2 files changed, 48 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 062220d..484c533 100644 --- a/README.md +++ b/README.md @@ -111,34 +111,36 @@ g++ -o matrix matrix.cpp ``` *output* ``` -The matrix m: -| 7 | 6+i | -| 5 | 3 | -The matrix m roted by one pi radian: -| 6+i | 3 | -| 7 | 5 | +The matrix m +| 1 | 1 | +| 1 | 1 | The determinant of matrix m: --9-5i -The matrix m's transpose: -| 7 | 5 | -| 6+i | 3 | -The matrix m's diagonal: -| 7 | -| 3 | -The matrix m's off diagonal: -| 6+i | -| 5 | -The matrix n +0 +The matrix n: | 2 | 1+i | | 1-i | 5 | +The matrix n roted by one pi radian: +| 1+i | 5 | +| 2 | 1-i | The determinant of matrix n: 8 +The matrix n's transpose: +| 2 | 1-i | +| 1+i | 5 | +The matrix n's diagonal: +| 2 | +| 5 | +The matrix n's off diagonal: +| 1+i | +| 1-i | The matrix m * n -| 21-5i | 37+12i | -| 13-3i | 20+5i | -The matrix m is not hermitian, here is the hermitian conjugate: -| 7 | 5 | -| 6-i | 3 | +| 3-i | 6+i | +| 3-i | 6+i | +The matrix m + n +| 3 | 2+i | +| 2-i | 6 | +Is 2 an eigenvalue of m? +Yes! The matrix n is hermitian, here is the hermitian conjugate: | 2 | 1+i | | 1-i | 5 | diff --git a/matrix.cpp b/matrix.cpp index e0ac846..a616ff1 100644 --- a/matrix.cpp +++ b/matrix.cpp @@ -2,21 +2,20 @@ int main() { vector a = vector(2); - a[0] = cnumber(7, 0); - a[1] = cnumber(6, 1); + a[0] = 1; + a[1] = 1; vector b = vector(2); - b[0] = cnumber(5, 0); - b[1] = cnumber(3, 0); + b[0] = 1; + b[1] = cnumber(1, 0); vector c = vector(2); - c[0] = cnumber(2, 0); + c[0] = 2; c[1] = cnumber(1, 1); - vector d = vector(2); d[0] = cnumber(1, -1); - d[1] = cnumber(5, 0); + d[1] = 5; matrix m = matrix(2, 2); m[0] = a; @@ -26,30 +25,33 @@ int main() { n[0] = c; n[1] = d; - cout << "The matrix m:" << endl; + cout << "The matrix m" << endl; cout << m << endl; - cout << "The matrix m roted by one pi radian:" << endl; - cout << m.rotate_by_one_pi() << endl; cout << "The determinant of matrix m:" << endl; cout << m.determinant() << endl; - cout << "The matrix m's transpose:" << endl; - cout << m.transpose() << endl; - cout << "The matrix m's diagonal:" << endl; - cout << m.get_diagonal() << endl; - cout << "The matrix m's off diagonal:" << endl; - cout << m.get_off_diagonal() << endl; - cout << "The matrix n" << endl; + cout << "The matrix n:" << endl; cout << n << endl; + cout << "The matrix n roted by one pi radian:" << endl; + cout << n.rotate_by_one_pi() << endl; cout << "The determinant of matrix n:" << endl; cout << n.determinant() << endl; + cout << "The matrix n's transpose:" << endl; + cout << n.transpose() << endl; + cout << "The matrix n's diagonal:" << endl; + cout << n.get_diagonal() << endl; + cout << "The matrix n's off diagonal:" << endl; + cout << n.get_off_diagonal() << endl; cout << "The matrix m * n" << endl; cout << m * n << endl; - if (!m.is_hermitian()) { - cout << "The matrix m is not hermitian, here is the hermitian conjugate:" - << endl; - cout << m.hermitian_conjugate() << endl; + cout << "The matrix m + n" << endl; + cout << m + n << endl; + cout << "Is 2 an eigenvalue of m?" << endl; + if (m.is_eigenvalue(2)) { + cout << "Yes!" << endl; + } else { + cout << "No!" << endl; } - if (n.is_hermitian()) { + if (n.is_hermitian()) { cout << "The matrix n is hermitian, here is the hermitian conjugate:" << endl; cout << n.hermitian_conjugate() << endl;