|
|
|
@ -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;
|
|
|
|
|