A001511 The ruler function: exponent of the highest power of 2 dividing 2n. Equivalently, the 2-adic valuation of 2n.
1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 5, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 6, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 5, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 7, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 5, 1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1, 6, 1, 2, 1, 3, 1, 2, 1, 4, 1
Offset: 1
A003602 Kimberling's paraphrases: if n = (2k-1)*2^m then a(n) = k.
1, 1, 2, 1, 3, 2, 4, 1, 5, 3, 6, 2, 7, 4, 8, 1, 9, 5, 10, 3, 11, 6, 12, 2, 13, 7, 14, 4, 15, 8, 16, 1, 17, 9, 18, 5, 19, 10, 20, 3, 21, 11, 22, 6, 23, 12, 24, 2, 25, 13, 26, 7, 27, 14, 28, 4, 29, 15, 30, 8, 31, 16, 32, 1, 33, 17, 34, 9, 35, 18, 36, 5, 37, 19, 38, 10, 39, 20, 40, 3, 41, 21, 42
Offset: 1
Comments
Fractal sequence obtained from powers of 2.
k occurs at (2*k-1)*A000079(m), m >= 0. - Robert G. Wilson v, May 23 2006
Sequence is T^(oo)(1) where T is acting on a word w = w(1)w(2)..w(m) as follows: T(w) = "1"w(1)"2"w(2)"3"(...)"m"w(m)"m+1". For instance T(ab) = 1a2b3. Thus T(1) = 112, T(T(1)) = 1121324, T(T(T(1))) = 112132415362748. - Benoit Cloitre, Mar 02 2009
Note that iterating the post-numbering operator U(w) = w(1) 1 w(2) 2 w(3) 3... produces the same limit sequence except with an additional "1" prepended, i.e., 1,1,1,2,1,3,2,4,... - Glen Whitney, Aug 30 2023
In the binary expansion of n, first swallow all zeros from the right, then add 1, and swallow the now-appearing 0 bit as well. - Ralf Stephan, Aug 22 2013
Although A264646 and this sequence initially agree in their digit-streams, they differ after 48 digits. - N. J. A. Sloane, Nov 20 2015
"[This is a] fractal because we get the same sequence after we delete from it the first appearance of all positive integers" - see Cobeli and Zaharescu link. - Robert G. Wilson v, Jun 03 2018
From Peter Munn, Jun 16 2022: (Start)
The sequence is the list of positive integers interleaved with the sequence itself. Provided the offset is suitable (which is the case here) a term of such a self-interleaved sequence is determined by the odd part of its index. Putting some of the formulas given here into words, a(n) is the position of the odd part of n in the list of odd numbers.
Applying the interleaving transform again, we get A110963.
(End)
Omitting all 1's leaves A131987 + 1. - David James Sycamore, Jul 26 2022
a(n) is also the smallest positive number not among the terms between a(a(n-1)) and a(n-1) inclusive (with a(0)=1 prepended). - Neal Gersh Tolunsky, Mar 07 2023
Examples
From _Peter Munn_, Jun 14 2022: (Start) Start of table showing the interleaving with the positive integers: n a(n) (n+1)/2 a(n/2) 1 1 1 2 1 1 3 2 2 4 1 1 5 3 3 6 2 2 7 4 4 8 1 1 9 5 5 10 3 3 11 6 6 12 2 2 (End)
References
- Michel Rigo, Formal Languages, Automata and Numeration Systems, 2 vols., Wiley, 2014. Mentions this sequence - see "List of Sequences" in Vol. 2.
- N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
Links
- N. J. A. Sloane, Table of n, a(n) for n = 1..10000
- J.-P. Allouche and J. Shallit, The ring of k-regular sequences, II, Theoret. Computer Sci., 307 (2003), 3-29.
- Cristian Cobeli and Alexandru Zaharescu, Promenade around Pascal Triangle - Number Motives, Bull. Math. Soc. Sci. Math. Roumanie, Tome 56(104) No. 1, 2013, 73-98.
- J.-P. Delahaye, La marelle arithmétique, Pour la Science, No. 360, October 2007. In French.
- Dale Gerdemann, Plotting Adjacent Points in A003602, Kimberling's Paraphrase, YouTube Video, 2015.
- Dale Gerdemann, Plotting Adjacent Terms of A003602 Modulo Increasing Powers of 2, YouTube Video, 2015.
- Douglas E. Iannucci and Urban Larsson, Game values of arithmetic functions, arXiv:2101.07608 [math.NT], 2021.
- Jonas Kaiser, On the relationship between the Collatz conjecture and Mersenne prime numbers, arXiv preprint arXiv:1608.00862 [math.GM], 2016.
- Clark Kimberling, Numeration systems and fractal sequences, Acta Arithmetica 73 (1995) 103-117.
- Clark Kimberling, Fractal sequences
- Ralf Stephan, Some divide-and-conquer sequences ...
- Ralf Stephan, Table of generating functions
- Matty van-Son, Palindromic sequences of the Markov spectrum, arXiv:1804.10802 [math.NT], 2018.
- Eric Weisstein's World of Mathematics, Odd Part
- Index entries for sequences related to binary expansion of n
Crossrefs
Cf. A000079, A000265, A001511, A003603, A003961, A014577 (with offset 1, reduction mod 2), A025480, A035528, A048673, A101279, A110963, A117303, A126760, A181988, A220466, A249745, A253887, A337821 (2-adic valuation).
Cf. also A349134 (Dirichlet inverse), A349135 (sum with it), A349136 (Möbius transform), A349431, A349371 (inverse Möbius transform).
Cf. A264646.
Programs
-
Haskell
a003602 = (`div` 2) . (+ 1) . a000265 -- Reinhard Zumkeller, Feb 16 2012, Oct 14 2010
-
Haskell
import Data.List (transpose) a003602 = flip div 2 . (+ 1) . a000265 a003602_list = concat $ transpose [[1..], a003602_list] -- Reinhard Zumkeller, Aug 09 2013, May 23 2013
-
Maple
A003602:=proc(n) options remember: if n mod 2 = 1 then RETURN((n+1)/2) else RETURN(procname(n/2)) fi: end proc: seq(A003602(n), n=1..83); # Pab Ter nmax := 83: for m from 0 to ceil(simplify(log[2](nmax))) do for k from 1 to ceil(nmax/(m+2)) do a((2*k-1)*2^m) := k od: od: seq(a(k), k=1..nmax); # Johannes W. Meijer, Feb 04 2013 A003602 := proc(n) a := 1; for p in ifactors(n)[2] do if op(1,p) > 2 then a := a*op(1,p)^op(2,p) ; end if; end do : (a+1)/2 ; end proc: # R. J. Mathar, May 19 2016
-
Mathematica
a[n_] := Block[{m = n}, While[ EvenQ@m, m /= 2]; (m + 1)/2]; Array[a, 84] (* or *) a[1] = 1; a[n_] := a[n] = If[OddQ@n, (n + 1)/2, a[n/2]]; Array[a, 84] (* Robert G. Wilson v, May 23 2006 *) a[n_] := Ceiling[NestWhile[Floor[#/2] &, n, EvenQ]/2]; Array[a, 84] (* Birkas Gyorgy, Apr 05 2011 *) a003602 = {1}; max = 7; Do[b = {}; Do[AppendTo[b, {k, a003602[[k]]}], {k, Length[a003602]}]; a003602 = Flatten[b], {n, 2, max}]; a003602 (* L. Edson Jeffery, Nov 21 2015 *)
-
PARI
A003602(n)=(n/2^valuation(n,2)+1)/2; /* Joerg Arndt, Apr 06 2011 */
-
Python
import math def a(n): return (n/2**int(math.log(n - (n & n - 1), 2)) + 1)/2 # Indranil Ghosh, Apr 24 2017
-
Python
def A003602(n): return (n>>(n&-n).bit_length())+1 # Chai Wah Wu, Jul 08 2022
-
Scheme
(define (A003602 n) (let loop ((n n)) (if (even? n) (loop (/ n 2)) (/ (+ 1 n) 2)))) ;; Antti Karttunen, Feb 04 2015
Formula
a(n) = (A000265(n) + 1)/2.
a((2*k-1)*2^m) = k, for m >= 0 and k >= 1. - Robert G. Wilson v, May 23 2006
Inverse Weigh transform of A035528. - Christian G. Bower
G.f.: 1/x * Sum_{k>=0} x^2^k/(1-2*x^2^(k+1) + x^2^(k+2)). - Ralf Stephan, Jul 24 2003
a(2*n-1) = n and a(2*n) = a(n). - Pab Ter (pabrlos2(AT)yahoo.com), Oct 25 2005
a(A118413(n,k)) = A002024(n,k); = a(A118416(n,k)) = A002260(n,k); a(A014480(n)) = A001511(A014480(n)). - Reinhard Zumkeller, Apr 27 2006
Ordinal transform of A001511. - Franklin T. Adams-Watters, Aug 28 2006
a(n) = A249745(A126760(A003961(n))) = A249745(A253887(A048673(n))). That is, this sequence plays the same role for the numbers in array A135764 as A126760 does for the odd numbers in array A135765. - Antti Karttunen, Feb 04 2015 & Jan 19 2016
G.f. satisfies g(x) = g(x^2) + x/(1-x^2)^2. - Robert Israel, Apr 24 2015
a(n) = A025480(n-1) + 1. - R. J. Mathar, May 19 2016
a(n) = (1 + n)/2, for n odd; a(n) = a(n/2), for n even. - David James Sycamore, Jul 28 2022
a(n) = n/2^A001511(n) + 1/2. - Alan Michael Gómez Calderón, Oct 06 2023
Extensions
More terms from Pab Ter (pabrlos2(AT)yahoo.com), Oct 25 2005
A014480 Expansion of g.f. (1+2*x)/(1-2*x)^2.
1, 6, 20, 56, 144, 352, 832, 1920, 4352, 9728, 21504, 47104, 102400, 221184, 475136, 1015808, 2162688, 4587520, 9699328, 20447232, 42991616, 90177536, 188743680, 394264576, 822083584, 1711276032, 3556769792, 7381975040, 15300820992, 31675383808, 65498251264
Offset: 0
Comments
Number of binary trees of size n and height n-1, computed from size n=3 onward; i.e. A014480(n) = A073345(n+3,n+2). (For sizes n=0 through 2 there are no such trees.)
Also determinant of the n X n matrix M(i,j)=binomial(2i+2j,i+j). - Benoit Cloitre, Mar 27 2004
Subdiagonal in triangle displayed in A128196. - Peter Luschny, Feb 26 2007
From Jaume Oliver Lafont, Nov 08 2009: (Start)
From two BBP-type formulas by Knuth, (page 6 of the reference)
Sum_{n>=0} 1/a(n) = 2^(1/2)*log(1+2^(1/2))
Sum_{n>=0} (-1)^n/a(n) = 2^(1/2)*atan(1/2^(1/2))
(End)
Create a triangle with first column T(n,1)=1+4*n for n=0 1 2... The remaining terms T(r,c)=T(r,c-1)+T(r-1,c-1). T(n,n+1)=a(n). - J. M. Bergot, Dec 18 2012
Examples
(1 + 2*x)/(1-2*x)^2 = 1 + 6*x + 20*x^2 + 56*x^3 + 144*x^4 + 352*x^5 + 832*x^6 + ...
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 0..1000
- David Bailey, Peter Borwein, and Simon Plouffe, On the rapid computation of various polylogarithmic constants, in: L. Berggren, J. Borwein, and P. Borwein (eds.), Pi: A Source Book, Springer, New York, NY, 2000.
- Index entries for linear recurrences with constant coefficients, signature (4,-4).
Programs
-
Haskell
a014480 n = a014480_list !! n a014480_list = 1 : 6 : map (* 4) (zipWith (-) (tail a014480_list) a014480_list) -- Reinhard Zumkeller, Jan 22 2012
-
Magma
[2^n*(2*n + 1): n in [0..35]]; // Vincenzo Librandi, Oct 20 2014
-
Maple
a:=n-> sum(2^n*n^binomial(j,n)/2,j=1..n): seq(a(n),n=1..29); # Zerinvary Lajos, Apr 18 2009
-
Mathematica
CoefficientList[ Series[(1 + 2*x)/(1 - 2*x)^2, {x, 0, 28}], x] LinearRecurrence[{4, -4}, {1, 6}, 29] (* Robert G. Wilson v, Dec 26 2012 *) Table[2^n (2*n + 1), {n, 0, 28}] (* Fred Daniel Kline, Oct 20 2014 *)
-
PARI
Vec((1+2*x)/(1-2*x)^2+O(x^99)) \\ Charles R Greathouse IV, Sep 23 2012
Formula
a(n) = (2n+1)*2^n = 4a(n-1)-4a(n-2) = 4*A052951(n-1) = a(n-1)+A052951(n) = a(n-1)*(2+4/(2n-1)) = A054582(n, n). - Henry Bottomley, May 16 2001
E.g.f.: x*cosh(sqrt(2)*x) = x + 6x^3/3! + 20x^5/5! + 56x^7/7! +... - Ralf Stephan, Mar 03 2005
From Reinhard Zumkeller, Apr 27 2006: (Start)
A117303(a(n)) = a(n). (End)
Row sums of triangle A132775 - Gary W. Adamson, Aug 29 2007
Row sums of triangle A134233 - Gary W. Adamson, Oct 14 2007
From Johannes W. Meijer, Nov 23 2009: (Start)
a(n) = 3*a(n-1) - 2^(n-1)*(2*n-5) with a(0) = 1.
a(n) = 3*a(n-1) - 2*a(n-2) + 2^n with a(0) = 1 and a(1) = 6.
(End)
G.f.: -G(0) where G(k) = 1 - (2*k+2)/(1 - x/(x - (k+1)/G(k+1) )); (continued fraction). - Sergei N. Gladkovskii, Dec 06 2012
E.g.f.: Q(0), where Q(k)= 1 + 4*x/( 1 - 1/(1 + 2*(k+1)/Q(k+1))); (continued fraction). - Sergei N. Gladkovskii, May 11 2013
A118413
Triangle read by rows: T(n,k) = (2*n-1)*2^(k-1), 0
1, 3, 6, 5, 10, 20, 7, 14, 28, 56, 9, 18, 36, 72, 144, 11, 22, 44, 88, 176, 352, 13, 26, 52, 104, 208, 416, 832, 15, 30, 60, 120, 240, 480, 960, 1920, 17, 34, 68, 136, 272, 544, 1088, 2176, 4352, 19, 38, 76, 152, 304, 608, 1216, 2432, 4864, 9728, 21, 42, 84, 168
Offset: 1
Comments
Examples
1 3 6 5 10 20 7 14 28 56 9 18 36 72 144 11 22 44 88 176 352 13 26 52 104 208 416 832 15 30 60 120 240 480 960 1920 17 34 68 136 272 544 1088 2176 4352 19 38 76 152 304 608 1216 2432 4864 9728 ...
Crossrefs
Programs
-
Mathematica
Select[Flatten[Table[(2n-1)2^(k-1),{n,20},{k,0,n}]],IntegerQ] (* Harvey P. Dale, Jan 17 2024 *)
-
Python
from math import isqrt, comb def A118413(n): a = (m:=isqrt(k:=n<<1))+(k>m*(m+1)) return ((a<<1)-1)<
Chai Wah Wu, Jun 20 2025
A118416 Triangle read by rows: T(n,k) = (2*k-1)*2^(n-1), 0 < k <= n.
1, 2, 6, 4, 12, 20, 8, 24, 40, 56, 16, 48, 80, 112, 144, 32, 96, 160, 224, 288, 352, 64, 192, 320, 448, 576, 704, 832, 128, 384, 640, 896, 1152, 1408, 1664, 1920, 256, 768, 1280, 1792, 2304, 2816, 3328, 3840, 4352, 512, 1536, 2560, 3584, 4608, 5632, 6656, 7680
Offset: 1
Comments
T(n,1) = A000079(n-1);
T(n,2) = A007283(n-1) for n > 1;
T(n,3) = A020714(n-1) for n > 2;
T(n,4) = A005009(n-1) for n > 3;
T(n,5) = A005010(n-1) for n > 4;
T(n,n-1) = A118417(n-1) for n > 1;
The alternating row sums, Sum_{k=1..n} (-1)^(k+1)*T(n,k), are: (a) in odd rows, the central term, T(n,(n+1)/2) = A058962((n-1)/2); (b) in even rows, the negation of the average of the two central terms, -(T(2n,n) + T(2n,+1))/2 = -A018215(m/2). The absolute values of the alternating row sums give the plain row means, Sum_{k=1..n} T(n,k)/n; the alternating sign row means are (-2)^(n-1). - Gregory Gerard Wojnar, Feb 10 2024
Examples
Triangle begins: 1; 2, 6; 4, 12, 20; 8, 24, 40, 56; 16, 48, 80, 112, 144; 32, 96, 160, 224, 288, 352; 64, 192, 320, 448, 576, 704, 832;
Links
- Reinhard Zumkeller, Rows n = 1..100 of triangle, flattened
Programs
-
Haskell
a118416 n k = a118416_tabl !! (n-1) !! (k-1) a118416_row 1 = [1] a118416_row n = (map (* 2) $ a118416_row (n-1)) ++ [a014480 (n-1)] a118416_tabl = map a118416_row [1..] -- Reinhard Zumkeller, Jan 22 2012
-
Maple
A118416 := proc(n,k) 2^(n-1)*(2*k-1) ; end proc: # R. J. Mathar, Sep 04 2011
-
Mathematica
Flatten[Table[(2k-1)2^(n-1),{n,10},{k,n}]] (* Harvey P. Dale, Aug 26 2014 *)
-
Python
from math import isqrt def A118416(n): return (a:=(m:=isqrt(k:=n<<1))+(k>m*(m+1)))*(1-a)+(n<<1)-1<
Chai Wah Wu, Jun 20 2025
Formula
T(n,k) = 2*T(n-1,k), 1 <= k < n; T(n,n) = A014480(n-1).
A323710 a(n) is the symmetrical of n via transport of structure from binary trees, where the binary tree of n is built as follows: create a root with value n and recursively apply the rule {write node's value as (2^c)*(2*k+1); if c>0, create a left child with value c; if k>0, create a right child with value k}.
1, 3, 2, 7, 8, 6, 4, 5, 128, 24, 256, 14, 64, 12, 16, 15, 32, 384, 340282366920938463463374607431768211456, 56, 16777216, 768, 115792089237316195423570985008687907853269984665640564039457584007913129639936, 10, 16384, 192, 18446744073709551616, 28, 4096, 48
Offset: 1
Keywords
Comments
Let f denote the bijection that maps positive integers onto binary trees, defined in the name; let g be its inverse; let r denote the symmetry on binary trees (i.e., starting from the root, r recursively swaps left and right children). By definition a(n) = g(r(f(n))).
If instead of r, one uses s, the operation that swaps the left and right children of the root, without recursion, then one gets g(s(f(n))) = A117303(n).
Better leave a(39) = 2^340282366920938463463374607431768211456 not fully evaluated.
Examples
100 = (2^2)*(2*12+1) and recursively, 2 = (2^1), 12 = (2^2)*(2*1+1). We then have the following binary tree representation of 100: 100 / \ 2 12 / / \ 1 2 1 / 1 Erase the numerical values, just keep the tree structure: o / \ o o / / \ o o o / o Take its symmetrical: o / \ o o / \ \ o o o \ o Compute back new numerical values from the leafs (value: 1) up: (2*1+1) = 3; (2^1)*(2*3+1) = 14; (2^14)*(2*3+1) = 114688 114688 / \ 14 3 / \ \ 1 3 1 \ 1 So, a(100) = 114688.
Links
- Alois P. Heinz, Table of n, a(n) for n = 1..38
Crossrefs
Programs
-
Maple
a:= proc(n) option remember; `if`(n=0, 0, (j-> (2*a(j)+1)*2^a((n/2^j-1)/2))(padic[ordp](n, 2))) end: seq(a(n), n=1..38); # Alois P. Heinz, Jan 24 2019
-
Mathematica
f[0]:=x f[n_]:=Module[{c,k},c=IntegerExponent[n,2];k=(n/2^c-1)/2;o[f[c],f[k]]] g[x]:=0 g[o[C_,K_]]:=(2^g[C])(2g[K]+1) r[x]:=x r[o[C_,K_]]:=o[r[K],r[C]] a[n_]:=g@r@f[n] Table[a[n], {n, 1, 30}]
Formula
a(a(n)) = n.
a(n) = n iff n is in A323752.
A323665 a(n) is the number of vertices in the binary tree the root of which is assigned the value n and built recursively by the rule: write node's value as (2^c)*(2k+1); if c>0, create a left child with value c; if k>0, create a right child with value k.
1, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 5, 5, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 6, 6, 7, 7, 7, 7, 7, 7, 6, 7, 7
Offset: 1
Comments
Examples
100 = (2^2)*(2*12+1) and recursively, 2 = (2^1), 12 = (2^2)*(2*1+1). We then have the following binary tree representation: 100 o / \ / \ 2 12 o o / / \ or more simply / / \ 1 2 1 o o o / / 1 o 7 vertices, so a(100) = 7.
Links
- Luc Rousseau, Table of n, a(n) for n = 1..10000
Programs
-
Maple
a:= proc(n) option remember; `if`(n=0, 0, (j-> 1+a(j)+a((n/2^j-1)/2))(padic[ordp](n, 2))) end: seq(a(n), n=1..100); # Alois P. Heinz, Jan 23 2019
-
Mathematica
nEdges[n_] := If[n == 0, 0, Module[{c, xx, k}, c = IntegerExponent[n, 2]; xx = n/2^c; k = (xx - 1)/2; Boole[c != 0]*(1 + nEdges[c]) + Boole[k != 0]*(1 + nEdges[k])]] a[n_] := nEdges[n] + 1 Table[a[n], {n, 1, 87}]
A174989 Partial sums of A003602.
1, 2, 4, 5, 8, 10, 14, 15, 20, 23, 29, 31, 38, 42, 50, 51, 60, 65, 75, 78, 89, 95, 107, 109, 122, 129, 143, 147, 162, 170, 186, 187, 204, 213, 231, 236, 255, 265, 285, 288, 309, 320, 342, 348, 371, 383, 407, 409, 434, 447, 473, 480, 507, 521, 549, 553, 582, 597
Offset: 1
Comments
I conjecture that infinitely many terms are prime. For n<=10^5, exactly 5115 terms are prime. For n<=10^7, there are 352704 prime terms. The largest prime for n<10^10 is at n=9999999983, a(n)=16666666618226308891. Below 10^100, n=(10^100)-345. Below 10^500, n=(10^500)-2414. - Griffin N. Macris, May 04 2016
Since (n^2+3n)/6 < a(n) < (n^2+5n+4)/6, the sum of reciprocals of this sequence converges to a value between 13/6 and 11/3, approximately 2.888. - Griffin N. Macris, May 07 2016
Programs
-
Mathematica
a[0]:=0; a[n_]:=Ceiling[n/2](1+Ceiling[n/2])/2 + a[Floor[n/2]]; Array[a,50] (* Griffin N. Macris, May 04 2016 *)
Formula
From Griffin N. Macris, May 04 2016 (Start)
a(0) = 0; a(n) = A000217(ceiling(n/2)) + a(floor(n/2)).
Asymptotically, a(n) ~ (n^2+3n)/6. (End)
a(n) = (A135013(n) + n)/2. - Amiram Eldar, Dec 27 2022
Comments
Examples
References
Links
Crossrefs
Programs
Haskell
Haskell
MATLAB
Magma
Maple
Mathematica
PARI
PARI
PARI
PARI
Python
Python
Python
Sage
Scheme
Formula
Extensions