The Array class defines other coefficient-wise operations besides the addition, subtraction and multiplication operators described above. For example, the .abs() method takes the absolute value of each coefficient, while .sqrt()computes the square root of the coefficients. If you have two arrays of the same size, you can call .min(.) to construct the array whose coefficients are the minimum of the corresponding coefficients of the two given arrays. These operations are illustrated in the following example.
Example: | Output: |
---|---|
#include <Eigen/Dense>
#include <iostream>
using namespace Eigen;
using namespace std;
int main()
{
ArrayXf a = ArrayXf::Random(5);
a *= 2;
cout <<
"a =" << endl
<< a << endl;
cout <<
"a.abs() =" << endl
<< a.abs() << endl;
cout <<
"a.abs().sqrt() =" << endl
<< a.abs().sqrt() << endl;
cout <<
"a.min(a.abs().sqrt()) =" << endl
<< a.min(a.abs().sqrt()) << endl;
}
| a = 1.36 -0.422 1.13 1.19 1.65 a.abs() = 1.36 0.422 1.13 1.19 1.65 a.abs().sqrt() = 1.17 0.65 1.06 1.09 1.28 a.min(a.abs().sqrt()) = 1.17 -0.422 1.06 1.09 1.28 |
More coefficient-wise operations can be found in the Quick reference guide.