2

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.

JSCB
  • 13,698
  • 15
  • 67
  • 125
  • 1
    $x >> y$ means $x$ is very big with respect to y. – Vincent Nivoliers Nov 07 '12 at 13:28
  • 6
    It would probably help if you added some context in which you encountered this notation. – Martin Sleziak Nov 07 '12 at 13:32
  • 3
    where did you see them first? –  Nov 07 '12 at 13:32
  • 7
    Note that you can produce these in $\TeX$ using \ll for $\ll$ and \gg for $\gg$. – joriki Nov 07 '12 at 13:40
  • 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. – Martin Sleziak Nov 08 '12 at 06:05
  • 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 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 until the post is edited. – Martin Sleziak Nov 08 '12 at 06:15
  • 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 that the change was not made by the OP. I don't see any comment by the OP either. – Martin Sleziak Nov 08 '12 at 06:40
  • @Martin: mine was only a suggested edit, I don't have enough reputation on this site to enforce it. – UncleZeiv Nov 08 '12 at 14:19

5 Answers5

12

This is Vinogradov notation. $f(n)\ll g(n)$ means that there is some $k>0$ such that for all large $n$, $f(n)<k\cdot g(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.

Charles
  • 32,999
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. – Frédéric Grosshans Nov 07 '12 at 14:11
  • @FrédéricGrosshans if the value being compared is non negative, i think it is the same thing. –  Nov 07 '12 at 14:13
  • 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. – Frédéric Grosshans Nov 07 '12 at 14:23
  • @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. –  Nov 07 '12 at 14:28
  • 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 ) – Frédéric Grosshans Nov 07 '12 at 14:40
  • 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? – UncleZeiv Nov 07 '12 at 17:03
  • 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. –  Nov 07 '12 at 17:09
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.

  • I am surprised that you assume that the question is asked in a programming-related context while this website is about mathematics. – Rasmus Nov 07 '12 at 13:57
  • 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. – Martin Sleziak Nov 07 '12 at 14:01
  • 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). – Max Morin Nov 07 '12 at 14:03
  • 2
    @Max Maybe I should have written C instead of C++. Anyway, I am definitely not a C++ programmer... – Martin Sleziak Nov 07 '12 at 14:04
3

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

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.

Max Morin
  • 855
  • 1
    This is language dependent. In ruby the "<<" is the append method for an array: [1,2,3] << 4 gives [1,2,3,4] – thisfeller Nov 07 '12 at 13:42
  • 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.php – nanofarad Nov 07 '12 at 13:43
  • 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. – Max Morin Nov 07 '12 at 13:58