mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Rewrite tutorial section on solving linear systems
This commit is contained in:
6
doc/snippets/Tutorial_solve_matrix_inverse.cpp
Normal file
6
doc/snippets/Tutorial_solve_matrix_inverse.cpp
Normal file
@@ -0,0 +1,6 @@
|
||||
Matrix3f A;
|
||||
Vector3f b;
|
||||
A << 1,2,3, 4,5,6, 7,8,10;
|
||||
b << 3, 3, 4;
|
||||
Vector3f x = A.inverse() * b;
|
||||
cout << "The solution is:" << endl << x << endl;
|
||||
10
doc/snippets/Tutorial_solve_multiple_rhs.cpp
Normal file
10
doc/snippets/Tutorial_solve_multiple_rhs.cpp
Normal file
@@ -0,0 +1,10 @@
|
||||
Matrix3f A(3,3);
|
||||
A << 1,2,3, 4,5,6, 7,8,10;
|
||||
Matrix<float,3,2> B;
|
||||
B << 3,1, 3,1, 4,1;
|
||||
Matrix<float,3,2> X;
|
||||
A.partialLu().solve(B, &X);
|
||||
cout << "The solution with right-hand side (3,3,4) is:" << endl;
|
||||
cout << X.col(0) << endl;
|
||||
cout << "The solution with right-hand side (1,1,1) is:" << endl;
|
||||
cout << X.col(1) << endl;
|
||||
13
doc/snippets/Tutorial_solve_reuse_decomposition.cpp
Normal file
13
doc/snippets/Tutorial_solve_reuse_decomposition.cpp
Normal file
@@ -0,0 +1,13 @@
|
||||
Matrix3f A(3,3);
|
||||
A << 1,2,3, 4,5,6, 7,8,10;
|
||||
PartialLU<Matrix3f> luOfA(A); // compute LU decomposition of A
|
||||
Vector3f b;
|
||||
b << 3,3,4;
|
||||
Vector3f x;
|
||||
luOfA.solve(b, &x);
|
||||
cout << "The solution with right-hand side (3,3,4) is:" << endl;
|
||||
cout << x << endl;
|
||||
b << 1,1,1;
|
||||
luOfA.solve(b, &x);
|
||||
cout << "The solution with right-hand side (1,1,1) is:" << endl;
|
||||
cout << x << endl;
|
||||
9
doc/snippets/Tutorial_solve_singular.cpp
Normal file
9
doc/snippets/Tutorial_solve_singular.cpp
Normal file
@@ -0,0 +1,9 @@
|
||||
Matrix3f A;
|
||||
Vector3f b;
|
||||
A << 1,2,3, 4,5,6, 7,8,9;
|
||||
b << 3, 3, 4;
|
||||
cout << "Here is the matrix A:" << endl << A << endl;
|
||||
cout << "Here is the vector b:" << endl << b << endl;
|
||||
Vector3f x;
|
||||
A.partialLu().solve(b, &x);
|
||||
cout << "The solution is:" << endl << x << endl;
|
||||
8
doc/snippets/Tutorial_solve_triangular.cpp
Normal file
8
doc/snippets/Tutorial_solve_triangular.cpp
Normal file
@@ -0,0 +1,8 @@
|
||||
Matrix3f A;
|
||||
Vector3f b;
|
||||
A << 1,2,3, 0,5,6, 0,0,10;
|
||||
b << 3, 3, 4;
|
||||
cout << "Here is the matrix A:" << endl << A << endl;
|
||||
cout << "Here is the vector b:" << endl << b << endl;
|
||||
Vector3f x = A.triangularView<UpperTriangular>().solve(b);
|
||||
cout << "The solution is:" << endl << x << endl;
|
||||
6
doc/snippets/Tutorial_solve_triangular_inplace.cpp
Normal file
6
doc/snippets/Tutorial_solve_triangular_inplace.cpp
Normal file
@@ -0,0 +1,6 @@
|
||||
Matrix3f A;
|
||||
Vector3f b;
|
||||
A << 1,2,3, 0,5,6, 0,0,10;
|
||||
b << 3, 3, 4;
|
||||
A.triangularView<UpperTriangular>().solveInPlace(b);
|
||||
cout << "The solution is:" << endl << b << endl;
|
||||
Reference in New Issue
Block a user