2
$\begingroup$

Possible Duplicate:
What does $\ll$ mean?

What do $\gg$ and $\ll$ mean?

I don't know how to search them for the net. Thank you.

  • 1
    $x >> y$ means $x$ is very big with respect to y.2012-11-07
  • 6
    It would probably help if you added some context in which you encountered this notation.2012-11-07
  • 3
    where did you see them first?2012-11-07
  • 7
    Note that you can produce these in $\TeX$ using `\ll` for $\ll$ and `\gg` for $\gg$.2012-11-07
  • 1
    @UncleZeiv I really think it would be better to leave the original $>>$ instead of $\gg$ and the OP let edit your point. Until he tells us more about the context and/or explains whether he agrees with the edit, the way he wrote this is the the only clue we have.2012-11-08
  • 2
    I downvoted the question, since the OP did not provide the context and did not clarify what was really the notation he wanted to use, despite the fact that this was asked in comments and mentioned in several answers. ([Timestamps](http://math.stackexchange.com/users/25841/jasoncube?tab=activity) on the last answer he posted show that he was online even after the first comments and answers have been given here.) When I see that this issue was clarified, I will remove my downvote. (If I can - [downvotes are locked](http://meta.math.stackexchange.com/questions/) until the post is edited.2012-11-08
  • 1
    I am not sure this should be closed as a duplicate before the OP clarifies the context or whether he wanted to use $<<$ or $\ll$. You can see in the [revision history](http://math.stackexchange.com/posts/232143/revisions) that the change was not made by the OP. I don't see any comment by the OP either.2012-11-08
  • 0
    @Martin: mine was only a suggested edit, I don't have enough reputation on this site to enforce it.2012-11-08

5 Answers 5

2

In programming in C-like languages they denote bitwise right shift/left shift. The binary number 00010111 left shifted two steps is 01011100, written 23<<2 (which is 92). Similarly, 23>>2 is 00000101 which is 5.

  • 1
    This is language dependent. In ruby the "<<" is the append method for an array: [1,2,3] << 4 gives [1,2,3,4]2012-11-07
  • 0
    In PHP, it should be noted that "Right shifts have copies of the sign bit shifted in on the left, meaning the sign of an operand is preserved. " from http://php.net/manual/en/language.operators.bitwise.php2012-11-07
  • 0
    Added a note about C-like languages. I would expand the answer, but the asker has not specified in what context the notation was encountered.2012-11-07
11

This is Vinogradov notation. $f(n)\ll g(n)$ means that there is some $k>0$ such that for all large $n$, $f(n) This is the same as writing $f(n)=O(g(n)).$

Of course this is entirely different from C's << bit shift operator which multiplies by the indicated power of two.

10

If it is used in comparing two positive values $x$ and $y$, $x \ll y$ implies that $x$ is much less than $y$ and $y \gg x$ implies that $y$ is much greater than $x$.

Note that $x \ll y \iff y \gg x$ so these properties may be applied $x\ll y$

  • $\cfrac xy \simeq 0$
  • $x +y \simeq y$
  • 2
    ... where $\simeq 0$ means $\ll1$, which is not always the same thing.2012-11-07
  • 0
    @FrédéricGrosshans if the value being compared is non negative, i think it is the same thing.2012-11-07
  • 1
    some times, the result you want is $y/x$, and you don't need to compare it to something else. For example if you are interested by the angle under which you see an object of height $h$ at a distance $h$, the answer is $\arctan(h/d)\simeq h/d$ if $h\ll d$. Saying $h/d\simeq0$ is just saying "things look very small when you look at them from far away", while you can be more quantitative. And often (at least in physics), there are several small quantities to compare.2012-11-07
  • 0
    @FrédéricGrosshans these approximations are only used when necessary, at least from what I've learnt. If the values are needed or if it is being used in a function like you've shown, there may be no need to approximate.2012-11-07
  • 0
    They can be quite often necessary. I obviously used a simple and classical example in my comment above, but things can often get simpler with those approximations since $\arctan$ is nonlinear. This kind of approximation are heavily used in physics, astronomy, an so on. The one I mentioned is for example the source of a (heavily used) military angle unit ( http://en.wikipedia.org/wiki/Angular_mil )2012-11-07
  • 0
    I was hoping to find a comment on how to evaluate these "fuzzy" operators. Is 1000 >> 1? Is 100? I guess it depends on the context, but it always bothered me. It looks like the kind of thing you use to introduce a simplification in a calculation, rather than a logical operator you would use to, say, prove a theorem?2012-11-07
  • 1
    @UncleZeiv It's one of those things I've used in Physics and never bothered to ask why? or what the difference between two quantities must be before using the properties. I first encountered them in an Optics class, studying interference. i would actually love if someone explains it better.2012-11-07
5

In C++ they are used to denote right and left shift as a bitwise operation.

EDIT: This answer was posted as answer to the original question, which contained $<<$ and $>>$. This notation (at least to me) is more naturally linked to the bitwise operations. Since then the post was edited and these symbols were changed to $\ll$ and $\gg$. (Which is the form of the question at this moment.) But this edit was not made by the OP and the OP neither mentioned in comments whether this is what he wanted to write nor edited his post. So we cannot be sure that this was really the way the question was intended.

  • 0
    I am surprised that you assume that the question is asked in a programming-related context while this website is about mathematics.2012-11-07
  • 3
    I can imagine them in a description of some algorithm - which could appear in a mathematical text. Also because the OP used $>>$ and no $\gg$. (But it is possible that he simply did not know the correct LaTeX syntax.) Unless the OP says more about the context, it will be difficult to say, what he really wants.2012-11-07
  • 0
    The way they was written (rather than $\gg$ and $\ll$) brings thoughts to the bitwise shift operators. Indeed, the last 100 times i saw << it referred to a bitwise shift. I am more surprised to see a C++ programmer associate them with shifting (rather than sending to/reading from a stream).2012-11-07
  • 2
    @Max Maybe I should have written C instead of C++. Anyway, I am definitely not a C++ programmer...2012-11-07
3

E.g. Claim A holds for $n>>0$ means that $\exists n_0$: Claim A holds for all $n\geq n_0$.