From 95c00ca8ff07c8e13232f51573735f111211a921 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 6 Jan 2010 13:56:04 +0100 Subject: started a page on the porting from Eigen2 to 3, updated a bit the tutorial --- doc/AsciiQuickReference.txt | 62 +++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 28 deletions(-) (limited to 'doc/AsciiQuickReference.txt') diff --git a/doc/AsciiQuickReference.txt b/doc/AsciiQuickReference.txt index 86f77a66b..74de7344b 100644 --- a/doc/AsciiQuickReference.txt +++ b/doc/AsciiQuickReference.txt @@ -39,10 +39,10 @@ A.setIdentity(); // Fill A with the identity. // Templated size versions are faster. Note that Matlab is 1-based (a size N // vector is x(1)...x(N)). // Eigen // Matlab -x.start(n) // x(1:n) -x.start() // x(1:n) -x.tail(n) // N = rows(x); x(N - n: N) -x.tail() // N = rows(x); x(N - n: N) +x.head(n) // x(1:n) +x.head() // x(1:n) +x.tail(n) // N = rows(x); x(N - n: N) +x.tail() // N = rows(x); x(N - n: N) x.segment(i, n) // x(i+1 : i+n) x.segment(i) // x(i+1 : i+n) P.block(i, j, rows, cols) // P(i+1 : i+rows, j+1 : j+cols) @@ -81,30 +81,36 @@ a *= M; R = P + Q; R = P/s; // Vectorized operations on each element independently // (most require #include ) // Eigen // Matlab -R = P.cwise() * Q; // R = P .* Q -R = P.cwise() / Q; // R = P ./ Q -R = P.cwise() + s; // R = P + s -R = P.cwise() - s; // R = P - s -R.cwise() += s; // R = R + s -R.cwise() -= s; // R = R - s -R.cwise() *= s; // R = R * s -R.cwise() /= s; // R = R / s -R.cwise() < Q; // R < Q -R.cwise() <= Q; // R <= Q -R.cwise().inverse(); // 1 ./ P -R.cwise().sin() // sin(P) -R.cwise().cos() // cos(P) -R.cwise().pow(s) // P .^ s -R.cwise().square() // P .^ 2 -R.cwise().cube() // P .^ 3 -R.cwise().sqrt() // sqrt(P) -R.cwise().exp() // exp(P) -R.cwise().log() // log(P) -R.cwise().max(P) // max(R, P) -R.cwise().min(P) // min(R, P) -R.cwise().abs() // abs(P) -R.cwise().abs2() // abs(P.^2) -(R.cwise() < s).select(P,Q); // (R < s ? P : Q) +R = P.cwiseProduct(Q); // R = P .* Q +R = P.array() * s.array();// R = P .* s +R = P.cwiseQuotient(Q); // R = P ./ Q +R = P.array() / Q.array();// R = P ./ Q +R = P.array() + s.array();// R = P + s +R = P.array() - s.array();// R = P - s +R.array() += s; // R = R + s +R.array() -= s; // R = R - s +R.array() < Q.array(); // R < Q +R.array() <= Q.array(); // R <= Q +R.cwiseInverse(); // 1 ./ P +R.array().inverse(); // 1 ./ P +R.array().sin() // sin(P) +R.array().cos() // cos(P) +R.array().pow(s) // P .^ s +R.array().square() // P .^ 2 +R.array().cube() // P .^ 3 +R.cwiseSqrt() // sqrt(P) +R.array().sqrt() // sqrt(P) +R.array().exp() // exp(P) +R.array().log() // log(P) +R.cwiseMax(P) // max(R, P) +R.array().max(P.array()) // max(R, P) +R.cwiseMin(P) // min(R, P) +R.array().min(P.array()) // min(R, P) +R.cwiseAbs() // abs(P) +R.array().abs() // abs(P) +R.cwiseAbs2() // abs(P.^2) +R.array().abs2() // abs(P.^2) +(R.array() < s).select(P,Q); // (R < s ? P : Q) // Reductions. int r, c; -- cgit v1.2.3