Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I had always wondered if there might be a way to write a function, which I'll call OEISData[], that more or less works as a curated data function for The On-Line Encyclopedia of Integer Sequences.

I would imagine that the usage might be a little something like this:

OEISData["A004001"][9]
5

OEISData["A003418"][Range[8, 15]]
840, 2520, 2520, 27720, 27720, 360360, 360360, 360360

OEISData["A005849", "Keywords"]
{"hard", "nonn", "nice", "more"}

An API or something to retrieve data from the OEIS site might be needed for an implementation of this function. Is a function like this possible, with what Mathematica is currently capable of?

share|improve this question
    
You'll probably have to write a webscraper. At least according to stackoverflow.com/q/5991756/421225 –  Simon Jan 17 '12 at 23:06
    
...I wasn't specifically asking for a Wolfram Alpha solution... –  J. M. Jan 21 '12 at 6:03
1  
There was a recent W|A blog post on identifying sequences, which makes a brief mention of the OEIS. –  Simon Jan 24 '12 at 1:37
add comment

4 Answers 4

up vote 23 down vote accepted

There is a Mathematica package exactly for this at the OEIS wiki.

Somewhat related: there's also a package for formatting data into the OEIS format.

WolframAlpha also has some of this information, though I'm not sure how to get the $n^{\mathrm{th}}$ term of the sequence.

In[1] := WolframAlpha["A004001", {{"TermsPod:IntegerSequence", 1}, "ComputableData"}]

Out[1] = {1, 1, 2, 2, 3, 4, 4, 4, 5, 6, 7, 7, 8, 8, 8, 8, 9, 10, 11,
          12, 12, 13, 14, 14, 15}

Or:

In[1] := WolframAlpha["A018900", {{"Continuation", 1}, "ComputableData"}]

Out[1] = {3, 5, 6, 9, 10, 12, 17, 18, 20, 24, 33, 34, 36, 40, 48, 65, 66, 68, 72}
share|improve this answer
    
I was aware of the second one by Eric Weisstein, but not aware of the first. Thanks! –  J. M. Jan 18 '12 at 1:00
    
I've added another example as the first extraction method did not work for me. I hope you don't mind! –  István Zachar Sep 13 '13 at 22:26
add comment

A bit of a hack, could do with some polishing, but the basic idea will work:

OEISData[str_] := 
  StringSplit[#, ","] & /@ 
  Select[StringSplit[Import["http://oeis.org/search?q=" <> str]], 
  StringMatchQ[#, __ ~~ ","] &];

OEISData["A004001"][[9]]

If you just want the numbers, it could be even easier to just import from http://oeis.org/A004001/list (assuming that the input is a valid sequence identifier):

OEISSequence[str_] := ToExpression /@ 
        First@StringCases[Import["http://oeis.org/" <> str <> "/list"],
        "[" ~~ x__ ~~ "]" :> StringSplit[x, ","]];

Take[OEISSequence["A004001"], 20]
{1, 1, 2, 2, 3, 4, 4, 4, 5, 6, 7, 7, 8, 8, 8, 8, 9, 10, 11, 12}
share|improve this answer
1  
Nice piece of work –  niklasfi Jan 17 '12 at 23:22
add comment

I liked Szabolcs’ answer but would like to remind about free form input here. We get so much information using it for very little typing. Plus we get native to M. format. For those who does not know this yet - at the beginning of new input line press equal sign “=” twice to get orange spiky and then type in free form. In this case you see result below. This is NOT web browser but M. notebook. Of course you can get the same on W|A website. But additionally here you can get the data. For example go to “Sequence terms” pod and click “more” to get a few more terms. Then press little plus sign in the top right corner and then and from the menu choose “computable data”. This pastes in M. notebook what you see here at the lower part of the image the image. And this also partially answers Szabolcs’ question about more terms ;-) This is also a good way to learn tricks of WolframAlpha[] function.

enter image description here

share|improve this answer
    
A disadvantage of this is that it only works over the internet, not locally. –  celtschk Jan 18 '12 at 11:39
2  
@celtschk: Sure, but I was assuming that one needed to be connected to the Internet anyway to access stuff from the OEIS... –  J. M. Jan 18 '12 at 11:43
    
Ah, right, how could I miss that. Unless you are running on the OEIS hosting site, of course. :-) –  celtschk Jan 18 '12 at 11:53
add comment

It sounds like this might be helpful. The following notebook allows you to specify a sequence and automatically import a detailed list of matching entries from the OEIS:

http://www.brotherstechnology.com/math/oeis_mathematica.html

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.