$D_4$ here indicates the dihedral group of order 8. Does there exist any trivial example of topological spaces such that it has $D_4$ as it's fundamental group.
I am studying elementary Algebraic Topology recently. I have seen that a topological space is identified with a group. We are telling the group as Fundamental Group. So every topological space $X$ and for any $x \epsilon X$ there is a fundamental group $\pi_1 (X,x)$. I have a question about the converse. If we consider any arbitrary group $G$, then does there exist a topological space $X$ and an element $x\epsilon X$ such that $\pi_1 (X,x)=G$?
It's a really simple question. However I didn't see it in books and I tried to find the answer on the web but failed.  If I have two independent random variables, $X_1$ and $X_2$, then I define two other random variables $Y_1$ and $Y_2$, where $Y_1$ = $f_1(X_1)$ and $Y_2$ = $f_2(X_2)$.  Intuitively, $Y_1$ and $Y_2$ should be independent, and I can't find a counter example, but I am not sure. Could anyone tell me whether they are independent? Does it depend on some properties of $f_1$ and $f_2$?  Thank you. I'm drawing a scene where the camera freely moves about the universe.  The camera class keeps track of the view (or look at) point, the position of the camera, and the up vector.  These vectors/points are then passed into gluLookAt.    Pan and zoom are nearly trivial to implement.  However, I'm finding rotation about the look at point to be much more of an issue.  I want to write a function Camera.rotate that takes 2 angles, one that rotates up/down and one that rotates left/right along an imaginary sphere that is centered about the look at point.  Is there an easy way to do this?  I've (briefly) read about quaternions, but I wanted to see if there was an easier solution given the relatively simple construction of my scene. How to sort Wrapper list? I have a wrapper class which contains a list of sobjects, i want to have th sorting on the fields of these objects in the wrapper list: The apex code is as follows:  Class jobsWrapper {     public JobSuite__Job__c job { get; set; }     public JobSuite__Job_Task__c jobTasks { get; set; }      public JobsWrapper(JobSuite__Job__c objjobs, JobSuite__Job_Task__c objjobTasks) {         // if(jobTasks== NULL){jobTasks = new List&lt;Job_Task__c&gt;();}         job = objjobs;         jobTasks = objjobTasks;      }      public JobsWrapper() {         if(jobTasks== NULL) {             jobTasks = new JobSuite__Job_Task__c();         }          if(job == NULL) {             job = new JobSuite__Job__c();         }             } }   I want to allow sorting the wrapper list by the fields in the job - like client, jobname, jobnumber etc and fields from the task object as taskname, reviseddue dateetc.  How can I do this? Please help, thanks in advance. Probability, quantum physics, and why (can't it/does it) apply to macroscale events? Quantum physics dictates that there are probabilities that determine the outcome of an event, ie: the probability of a quark passing through a wall is X, due to the size of the quark in comparison to the wall), but couldn't macroscale events be predicted this same way, assuming all variables were accounted for (lets hypothetically say we have a computer powerful enough to take into account all factors).  My understanding is that as the scale of an object increases, the probability of it doing anything other than what classical physics dictates is almost 0%, but could conceivably do something not predicted (Example: a human being cannot pass through a wall, but given an infinite timescale, eventually s/he would because of probability not being 0). Is this accurate? If so, then shouldn't we, (except as a tool for conceptualization, like how we round 9.8 m/s^2 or pi to 3.14), use only quantum mechanics to explain events in any scale (for more accuracy)? I usually try to avoid lens flare, usually by avoiding shooting directly into bright lights (or using  to minimize it). However, sometimes I find a situation where lens flare actually adds to the image.  What can I do to effectively incorporate lens flare into my image? Also, are there any ways to do so while minimizing loss of contrast? Help me understand adjusted odds ratio in logistic regression I've been having a hard time trying to understand the use of logistic regression in a paper. The paper available  uses logistic regression to predict probability of complications during cataract surgery.   What is confusing me is that the paper presents a model that assigns odds ratio of 1 to baseline described as follows:     A patient whose risk profile was in the reference group for all risk indicators (ie adjusted OR=1.00 for all in Table 1) may be regarded as having a ‘baseline risk profile’, and the logistic regression model indicates a ‘baseline predicted probability’ for PCR or VL or both=0.736%.   So the probability of 0.00736 is presented with odds ratio of 1. Based on the transformation from probabilities to odds ratios: $o=\frac{p}{1-p}$, this can't be equal to 1:  $0.00741=\frac{0.00736}{1-0.00736}$.  It gets even more confusing. The composite odds ratios that represents multiple covariates having values different than the baseline is used to calculate predicted risk.      ...the composite OR from Table 1 would be 1.28 X 1.58 X 2.99 X 2.46 X   1.45 X 1.60 = 34.5, and from the graph in Figure 1, we see that this OR corresponds with a predicted probability of PCR or VL or both of around 20%   The only way to arrive at the values the paper is giving as examples is to multiply the baseline probability with composite odds like this: $0.2025=\frac{(34.50\ \times\ 0.00736)}{1\ +\ (34.50\ \times\ 0.00736)}$.  So what is going on here? What is the logic for assigning odds ratio 1 to a baseline probability that is not 0.5? The update formula I've came up with above comes up with the right probabilities for examples in the paper but this is not the direct multiplication of odds ratio I'd expect. What is it then? Post apocalyptic journey in search of knowledge from fallen society (ours) I'm racking my memory for a post-apocalyptic novel that I borrowed from a library maybe 15 years ago, but I'm sure it was published a few years before that though (maybe early 90s?).  I remember a party of people travelling across the flooded USA after some kind of apocalypse (climate change/flooding?). Towards the end of the book the group makes their way to New York(?) and finds a partially flooded library, discovering a set of books that gives hope for the return/rebuilding of society. I need to concatenate two String arrays in Java.  void f(String[] first, String[] second) {     String[] both = ??? }   What is the easiest way to do this? Difference between $\Delta$, $d$ and $\delta$ I have read the thread regarding , but it does not answer my question.  I am confused about the notation for change in Physics. In Mathematics, $\delta$ and $\Delta$ essentially refer to the same thing, i.e., change. This means that $\Delta x = x_1 - x_2 = \delta x$. The difference between $\delta$ and $d$ is also clear and distinct in differential calculus. We know that $\frac{dy}{dx}$ is always an operator and not a fraction, whereas $\frac{\delta y}{\delta x}$ is an infinitesimal change.   In Physics, however, the distinction is not as clear. Can anyone offer a clearer picture? What is the standard way to add N seconds to datetime.time in Python? Given a datetime.time value in Python, is there a standard way to add an integer number of seconds to it, so that 11:34:59 + 3 = 11:35:02, for example?  These obvious ideas don't work:  &gt;&gt;&gt; datetime.time(11, 34, 59) + 3 TypeError: unsupported operand type(s) for +: 'datetime.time' and 'int' &gt;&gt;&gt; datetime.time(11, 34, 59) + datetime.timedelta(0, 3) TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.timedelta' &gt;&gt;&gt; datetime.time(11, 34, 59) + datetime.time(0, 0, 3) TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'   In the end I have written functions like this:  def add_secs_to_time(timeval, secs_to_add):     secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second     secs += secs_to_add     return datetime.time(secs // 3600, (secs % 3600) // 60, secs % 60)   I can't help thinking that I'm missing an easier way to do this though.  Related How do you do a deep copy of an object in .NET? Is it possible to see a list of all my edits using a query? I am currently writing an academic text and need to directly quote/cite text from a paper. What is best practice when I need to add a remark/note to the quote?  For instance, I would do it like this: The authors claim that "we do the best work ever in the area of CS (note: Computer Science)".  So in the above case the actually quoted text is "we do the best work ever in the area of CS", however, I want to add a note which explains the abbreviation "CS".  How should this be done?  Related questions: Accessing bpy.context gives a '_RestrictContext' warning, how to fix this? I know people love to close duplicates so I am not asking for a reference to start learning statistics (as ).   I have a doctorate in mathematics but never learned statistics. What is the shortest route to the equivalent knowledge to a top notch BS statistics degree and how do I measure when I have achieved that.   If a list of books would suffice (assuming I do the exercises lets say), that's terrific. Yes, I expect working out problems to be an implicit part of learning it but I want to fast track as much as realistically possible. I am not looking for an insanely rigorous treatment unless that is part of what statistical majors generally learn. I have just discovered that my local bank, Nordea, has decided to remove the only good thing about their entire operation: the so-called "simplified login" feature on their website, which allows (soon allowed) the customer to log in to a kind of very limited "read-only" mode which basically just allowed you to see your current balance, the last few transactions (limited descriptions) and see whether or not there are any new "customer support messages", but not read those messages, not make any kind of payments, edit accounts, etc.  Now, they will only allow "full" logins, which 100% prevents any kind of automation and requires you to sit with a hardware device and enter numbers into it and then into the webpage before it allows you to see as much as your account balance. Other than being very obnoxious for every customer, it also blocks me and other "advanced" users out from our custom-programmed bots which have always regularly logged in with that "simplified" login method just to regexp out the current balance/new messages and then notify us via whatever mechanism we use privately.  I have previously asked them if they have any kind of JSON/RSS API of any kind, but no. They don't even have as much as e-mail notifications! Nothing except their spyware "smartphone app" which I would never install, nor would I ever allow such a surveillance device to track me 24/7 in the first place. Only by being a registered corporation with special, way more costly account types do you get any kind of "API" access from them, even to do this most basic imaginable task.  Before you tell me to switch banks, the others are at least just as bad (even worse from what I can tell, and for a longer time), and the act of switching banks is practically impossible for me personally.  What I'm asking is if maybe somebody knows of some sort of "hidden standard" or something which all banks in the world support, but don't have documented, for people like me to automate basic things such as knowing my account balance. Needless to say, I have looked for this countless times on their website, asked them about it, and asked other people about it. Nobody seems to know anything, or, if they do, won't tell me.  I know that there are a bunch of "Nordea-supporting" PHP libraries and whatnot on Github, but they are all ancient and even if they were up to date, they were most likely using the same method as I have been using: automating the login process through their "simplified login" mechanism, which is "soon" to be gone. (Probably at new year; they didn't even mention any dates or time frames.)  And yes, I have a Bitcoin wallet and have that fully automated. The problem is that virtually nobody else in the world cares about my Bitcoin, so "switching to Bitcoin" remains a pipe dream which I would be ready to do, but the world clearly isn't. How does QGIS Zonal Statistics handle partially overlapping pixels? There are a couple Stackexchange posts asking this question, but neither of them were sufficiently answered:       I am writing Python scripts that perform essentially the same operations as Zonal Stats, and I have been using Zonal Stats to check my scripts' outputs.   I have noticed that when there are many cells in the polygon being queried, my results match perfectly, but there are discrepancies when there are only a few raster cells in the polygon. The following is an example of this. I am computing "count" for each polygon.  Exhibit 1:   The returned count is 0.45, which looks roughly correct if pixels can be treated fractionally rather than simply in/out.  Exhibit 2:   Similar result; count is 0.39.  Exhibit 3:    With a larger poylgon, now we see the count is exactly 2. Note that there are exactly 2 pixel centers contained in the polygon.  Exhibit 4:    Here, only one pixel center is within the polygon. The count is 1.008, though. If you exclude the polygon area from the pixel whose center is in the polygon, the remaining area is obviously greater than 0.008 of a pixel.   From these exhibits, it seems that Zonal Statistics treats these cases specially. It looks like to me that if there are less than 2 pixel centers within the polygon, it performs some kind of averaging such as polygon_area/raster_cell_area to return the count. I should note that I have 48 of these polygons, and all returned counts greater than or equal to 2 are integers; fractional counts are only returned for &lt;2.  How are these fractional-pixel counts incorporated into the other statistics output by Zonal Stats?    indicates strange behavior with max/min when using large raster cells, and my own testing returns mean values not congruous with simple "pixel center in/out of the polygon." To reiterate, I get exact agreement when the underlying raster contains many pixels within the polygon. I couldn't find any documentation about this, and it may be important when people have never had problems with Zonal Stats but use a coarse raster and remain unaware that there is a different behavior when there are only a few pixels within the polygon. Multiple Inheritance #include&lt;iostream&gt; using namespace std;  class A  {    int a;    int b;    public:    void eat()    {       cout&lt;&lt;"A::eat()"&lt;&lt;endl;    } };  class B: public A {    public:    void eat()    {        cout&lt;&lt;"B::eat()"&lt;&lt;endl;     }  };  class C: public A {     public:    void eat()     {        cout&lt;&lt;"C::eat()"&lt;&lt;endl;     }  };  class D: public B, C {  };  int foo(A *ptr) {  ptr-&gt;eat();  } main() {  D obj; foo(&amp;(obj.B)); //error. How do i call with D's B part.  }   The above foo call is a compile time error.  I want to call foo with obj's B part without using virtual inheritance. How do i do that.   Also, in case of virtual inheritance, why the offset information need to be stored in the vtable. This can be determined at the compile time itself. In the above case, if we pass foo with D's object, at compile time only we can calculate the offset of D's A part. Cardinality of separable metric spaces Bash string range and replace To print part of the string, replace , with . I use command:  echo "${q:16:6}" | sed 's/,/./'   Is it possible to use something like:  echo "${q:16:6/,/.}"   because it does not work?