Because SGVector<float64_t> s2 should be always positive, I use eigen's unaryExpr(function_pointer) to check each element in s2 should be positive. Of course, I can use a for-loop to check this.