{"id":"n-f25cd955a876cde3","revision":2,"first_index":0,"fingerprint":"f6-4492f6bc11f6c88c","name":"Pascal-(1,2,1) array read by antidiagonals.","polytool_family":null,"interpretation":null,"rows_observed":15,"degree_pattern":"affine","degree_slope":1,"degree_intercept":0,"palindromic":1,"gamma_positive":1,"nonnegative":1,"rr_by_factors":false,"rows":[["1"],["1","1"],["1","4","1"],["1","7","7","1"],["1","10","22","10","1"],["1","13","46","46","13","1"],["1","16","79","136","79","16","1"],["1","19","121","307","307","121","19","1"],["1","22","172","586","886","586","172","22","1"],["1","25","232","1000","2086","2086","1000","232","25","1"],["1","28","301","1576","4258","5944","4258","1576","301","28","1"],["1","31","379","2341","7834","14374","14374","7834","2341","379","31","1"],["1","34","466","3322","13327","30724","40636","30724","13327","3322","466","34","1"],["1","37","562","4546","21331","59719","100108","100108","59719","21331","4546","562","37","1"],["1","40","667","6040","32521","107704","221275","281488","221275","107704","32521","6040","667","40","1"]],"degrees":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"row_sums":["1","2","6","16","44","120","328","896","2448","6688","18272","49920","136384","372608","1017984"],"nonn":true,"definitions":[{"position":0,"source":"oeis_catalog:A081577","source_kind":"oeis_catalog","equality_edge_id":null,"recurrence":{"first_index":0,"initial_polynomials":[["1"],["1","1"]],"recurrence":{"terms":[{"coeff":{"coeffs":[["1","1"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","2"]]},"deriv_order":0,"offset":2,"sign":"none"}]},"schema":"polytool.recurrence.v1"}},{"position":1,"source":"derived:reversal","source_kind":"derived","equality_edge_id":"e-421523eebf6e6bee","recurrence":{"first_index":0,"initial_polynomials":[["1"]],"recurrence":{"denominator":{"coeffs":[["0"],["1"]]},"terms":[{"coeff":{"coeffs":[["0","0","1"],["1","-2","-1"],["0","3","0"]]},"deriv_order":0,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","0","15","3"],["0","-1","-10","-1"]]},"deriv_order":1,"offset":1,"sign":"none"},{"coeff":{"coeffs":[["0","0","1","10","1"]]},"deriv_order":2,"offset":1,"sign":"none"}]},"schema":"polytool.recurrence.v1"}}],"properties":[{"id":158876,"position":0,"claim":"real_rooted","from_index":0,"region_key":"(-inf, 0)","provenance":"edges","claim_data":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},"label":"Real-rooted","description":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0)","region_exact":null,"edges":["e-1f8dc4b132ba6116"]},{"id":158877,"position":1,"claim":"one_signed_coefficients","from_index":0,"region_key":null,"provenance":"derived_from_edges","claim_data":{"alternating":false,"claim":"one_signed_coefficients","from_index":0},"label":"Coefficients of one sign","description":"Every nonzero row, n >= 0: the coefficients of P_n have one sign","region_exact":null,"edges":["e-1f8dc4b132ba6116","e-8efc9aafb30c2198"]},{"id":158878,"position":2,"claim":"hadamard_kernel","from_index":0,"region_key":null,"provenance":"derived_from_edges","claim_data":{"claim":"hadamard_kernel","from_index":0},"label":"Hadamard kernel (Malo)","description":"Rows P_n, n >= 0, are Hadamard kernels (preserve real-rootedness)","region_exact":null,"edges":["e-1f8dc4b132ba6116","e-8efc9aafb30c2198"]},{"id":158879,"position":3,"claim":"interlacing","from_index":1,"region_key":null,"provenance":"edges","claim_data":{"claim":"interlacing","from_index":1,"kind":"strict","orientation":"previous_interlaces_next"},"label":"Interlacing of consecutive rows","description":"Rows P_(m-1), P_m interlace (strict, previous interlaces next) for every m >= 1","region_exact":null,"edges":["e-1f8dc4b132ba6116"]},{"id":158880,"position":4,"claim":"basis_map_preserver","from_index":null,"region_key":null,"provenance":"edges","claim_data":{"claim":"basis_map_preserver","input_interval":"[-2 - sqrt(6), -2 + sqrt(6)]","output_interval":"(-inf, +inf)","statement":"every real polynomial with all roots in E = [-2 - sqrt(6), -2 + sqrt(6)] has a real-rooted image"},"label":"Basis map preserves real-rootedness","description":"Basis map u^k -> P_k sends roots in [-2 - sqrt(6), -2 + sqrt(6)] to roots in (-inf, +inf): every real polynomial with all roots in E = [-2 - sqrt(6), -2 + sqrt(6)] has a real-rooted image","region_exact":null,"edges":["e-bfd6a840c4d6eb68"]},{"id":158881,"position":5,"claim":"basis_map_preserver","from_index":null,"region_key":null,"provenance":"edges","claim_data":{"claim":"basis_map_preserver","input_interval":"[-2 - sqrt(6), -2 + sqrt(6)]","output_interval":"[-5 - 2 sqrt(6), -5 + 2 sqrt(6)]","statement":"every real polynomial with all roots in E = [-2 - sqrt(6), -2 + sqrt(6)] has an image with all roots in I = [-5 - 2 sqrt(6), -5 + 2 sqrt(6)]"},"label":"Basis map preserves real-rootedness","description":"Basis map u^k -> P_k sends roots in [-2 - sqrt(6), -2 + sqrt(6)] to roots in [-5 - 2 sqrt(6), -5 + 2 sqrt(6)]: every real polynomial with all roots in E = [-2 - sqrt(6), -2 + sqrt(6)] has an image with all roots in I = [-5 - 2 sqrt(6), -5 + 2 sqrt(6)]","region_exact":null,"edges":["e-bfd6a840c4d6eb68"]},{"id":158882,"position":6,"claim":"basis_map_preserver","from_index":null,"region_key":null,"provenance":"edges","claim_data":{"claim":"basis_map_preserver","input_interval":"[-2 - sqrt(6), 0]","output_interval":"[-5 - 2 sqrt(6), -5 + 2 sqrt(6)]","statement":"every PF input with all roots in [-2 - sqrt(6), 0] has a PF image; no larger [-R, 0] works"},"label":"Basis map preserves real-rootedness","description":"Basis map u^k -> P_k sends roots in [-2 - sqrt(6), 0] to roots in [-5 - 2 sqrt(6), -5 + 2 sqrt(6)]: every PF input with all roots in [-2 - sqrt(6), 0] has a PF image; no larger [-R, 0] works","region_exact":null,"edges":["e-bfd6a840c4d6eb68"]},{"id":158883,"position":7,"claim":"real_rooted","from_index":0,"region_key":"(-inf, 0]","provenance":"edges","claim_data":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"label":"Real-rooted","description":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]","region_exact":null,"edges":["e-8efc9aafb30c2198"]}],"region_exact":{},"incoming_edges":[{"id":"e-bfd6a840c4d6eb68","operation":{"operation":"basis_map_theorem"},"operation_detail":null,"conclusion_id":"n-f25cd955a876cde3","premise_count":0,"theorem":"affine current multiplier with an affine initial row (module documentation, \"The affine-current theorem\"): with beta = b/d, K = beta^2 + a beta - c > 0 and eta = m/d >= 0, every real polynomial with all roots in E = [-beta - sqrt(K), -beta + sqrt(K)] has a real-rooted image, and no interval of positive length outside E works (Theorem 1); for eta > 0 the images lie in I = [(-a - 2 beta - 2 sqrt(K))/d, (-a - 2 beta + 2 sqrt(K))/d] if and only if eta >= 1/2 and (s - (2 eta - 1) beta)^2 <= (2 eta - 1)^2 K, s = l - eta a (Theorem 2); with a >= 0, K >= beta^2, a + 2 beta >= 0, a^2 + 4c >= 0, l >= 0 and the scalar criterion, PF inputs with roots in [-R, 0], R = beta + sqrt(K), have PF images, sharply (the common-interlacer proof; the Chebyshev case is Iserles and Saff, Math. Proc. Cambridge Philos. Soc. 105 (1989), Theorem 1; the scalar criterion is RealRooted orderTwoConstants_nonneg_iff)","lean_route":null,"lean_declarations":[],"certificate_hash":"371f7211e80202efb3797524e0aa44761065bc5fa9b2bbd3e8e50da1239b0e2a","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"basis_map_preserver","input_interval":"[-2 - sqrt(6), -2 + sqrt(6)]","output_interval":"(-inf, +inf)","statement":"every real polynomial with all roots in E = [-2 - sqrt(6), -2 + sqrt(6)] has a real-rooted image"},{"claim":"basis_map_preserver","input_interval":"[-2 - sqrt(6), -2 + sqrt(6)]","output_interval":"[-5 - 2 sqrt(6), -5 + 2 sqrt(6)]","statement":"every real polynomial with all roots in E = [-2 - sqrt(6), -2 + sqrt(6)] has an image with all roots in I = [-5 - 2 sqrt(6), -5 + 2 sqrt(6)]"},{"claim":"basis_map_preserver","input_interval":"[-2 - sqrt(6), 0]","output_interval":"[-5 - 2 sqrt(6), -5 + 2 sqrt(6)]","statement":"every PF input with all roots in [-2 - sqrt(6), 0] has a PF image; no larger [-R, 0] works"}],"premises":[]},{"id":"e-421523eebf6e6bee","operation":{"operation":"definition_equality"},"operation_detail":null,"conclusion_id":"n-f25cd955a876cde3","premise_count":0,"theorem":"all-index identity Q_n = P_n certified by exact Ore-algebra division and identifying rows (polytool preserver-image certificate of the identity map)","lean_route":null,"lean_declarations":[],"certificate_hash":"aae8f87dc99dcd62b1e9ae03d83dea928277fedc791ec246d04e0ddb60215dd9","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[],"premises":[]},{"id":"e-8efc9aafb30c2198","operation":{"index_shift":0,"operation":"preserver_image","operator":"{\"shape\":\"reversal\",\"schedule\":{\"first_index\":0,\"first_degree\":0,\"step\":1}}"},"operation_detail":"reversal, shift 0","conclusion_id":"n-f25cd955a876cde3","premise_count":1,"theorem":"a real affine substitution x -> a x + b (a != 0), the reversal x^d p(1/x) (d >= deg p) and a real Mobius map (c x + e)^d p((a x + b)/(c x + e)) (a e - b c != 0, d >= deg p) map real roots to real roots: a root r of p gives the root (r - b)/a, 1/r (and 0) or (e r - b)/(a - c r) (and -e/c); for an input row that is a polynomial the degree condition holds automatically","lean_route":"reversed","lean_declarations":["RealRooted.X_pow_mul_reverse_eq_zero_or_splits","RealRooted.reflect_eq_zero_or_splits"],"certificate_hash":"4c55241c158374a82bebc56a4b4cebcacf487f6d68583acd5a486c3b334a3ffa","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}}],"premises":[{"position":0,"node_id":"n-f25cd955a876cde3","role":"sequence","name":"Pascal-(1,2,1) array read by antidiagonals.","uses":{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":true,"value":"0"}}},"uses_text":"Every row P_n, n >= 0, is zero or real-rooted with all roots in (-inf, 0]"}]},{"id":"e-1f8dc4b132ba6116","operation":{"operation":"theorem_check","theorem":"liu_wang_derivative_lag"},"operation_detail":"liu_wang_derivative_lag","conclusion_id":"n-f25cd955a876cde3","premise_count":0,"theorem":"L. L. Liu and Y. Wang, A unified approach to polynomial sequences with only real zeros, Adv. in Appl. Math. 38 (2007) 542-560, Theorem 2.1 with the interlacers f' and the lag row (strict form, as in the derivative-lag theorems of the RealRooted library, https://github.com/PerAlexandersson/RealRooted), with nonnegativity of the coefficients replaced by an exact induction keeping every root in (-inf, 0)","lean_route":"sign","lean_declarations":["RealRooted.threeTerm_interlaces_of_nonnegCoeffs","RealRooted.LiuWang.strictInterl_nonpos_lag_sequence"],"certificate_hash":"f7f7e4ef66dd2499222f6a377df2d786cb757557f6bcc432c6400fb5763f44ea","verification_polytool":"replayed","verification_lean":"not_attempted","claims":[{"claim":"real_rooted","from_index":0,"region":{"upper":{"closed":false,"value":"0"}}},{"claim":"interlacing","from_index":1,"kind":"strict","orientation":"previous_interlaces_next"}],"premises":[]}],"used_by":[{"id":"e-783c97f7204491d8","operation":"basis_map","operation_detail":"A008277","conclusion_id":"n-2573965ff2aaeb61","conclusion_name":"basis_map_A008277 of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-89c2003f0322b0b4","operation":"basis_map","operation_detail":"A013609","conclusion_id":"n-37ca9f2607503703","conclusion_name":"basis_map_A013609 of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-ad7d2c832366f6a0","operation":"basis_map","operation_detail":"A007318","conclusion_id":"n-3bdf31527eaa2fb3","conclusion_name":"basis_map_A007318 of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-dd14820b53191d63","operation":"basis_map","operation_detail":"A013611","conclusion_id":"n-a8ddb226edd55d5f","conclusion_name":"basis_map_A013611 of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-eece50974f996e38","operation":"basis_map","operation_detail":"A013610","conclusion_id":"n-3a1bf08f9f4a4163","conclusion_name":"basis_map_A013610 of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-250eeed7ad07d148","operation":"gamma_polynomial","operation_detail":"scale 1, shift 0","conclusion_id":"n-e3d901814302c059","conclusion_name":"Triangle read by rows: T(n,k) is the number of ways to tile a 3 X n rectangle with k pieces of 2 X 2 tiles and 3n-4k pieces of 1 X 1 tiles (0 <= k <= floor(n/2))."},{"id":"e-1295a2bb32418160","operation":"preserver_image","operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-f5c8d319c566ab06","conclusion_name":"derivative of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-303886c645549307","operation":"preserver_image","operation_detail":"derivative_polynomial, shift 0","conclusion_id":"n-8e2153ad02ccf453","conclusion_name":"one_plus_derivative of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-5c2436669acea698","operation":"preserver_image","operation_detail":"mobius, shift 0","conclusion_id":"n-5397a8ff0da3f463","conclusion_name":"mobius_x_over_x_plus_one of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-6f8e74d475c3b6cc","operation":"preserver_image","operation_detail":"affine, shift 0","conclusion_id":"n-3bdf31527eaa2fb3","conclusion_name":"basis_map_A007318 of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-8efc9aafb30c2198","operation":"preserver_image","operation_detail":"reversal, shift 0","conclusion_id":"n-f25cd955a876cde3","conclusion_name":"Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-be4074d4da1f384a","operation":"preserver_image","operation_detail":"euler_polynomial, shift 0","conclusion_id":"n-1abcdee3e18052c1","conclusion_name":"theta_plus_one_squared of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-f58bd164c0caee20","operation":"preserver_image","operation_detail":"euler_polynomial, shift 0","conclusion_id":"n-06d4d24415e9e4e9","conclusion_name":"theta_plus_one of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-f7dae2e6ce5eb428","operation":"veronese_section","operation_detail":"r=2, j=1, shift 0","conclusion_id":"n-ab736f57057424eb","conclusion_name":"veronese_section_2_1 of Pascal-(1,2,1) array read by antidiagonals."},{"id":"e-f9369b13a7776303","operation":"veronese_section","operation_detail":"r=2, j=0, shift 0","conclusion_id":"n-4e5bd0db6245d7ac","conclusion_name":"veronese_section_2_0 of Pascal-(1,2,1) array read by antidiagonals."}],"used_by_total":15,"links":[{"id":"l-09f4c8e0d1ac5f67","kind":"oeis_match","node_a_id":"n-f25cd955a876cde3","node_b_id":null,"fingerprint":null,"oeis_id":"A081577","in_catalog":1,"target":"reversed_triangle","row_alignment":"tabl","rows_matched":11,"oeis_nonn":1,"details":{"alignment":{"first_row":0,"low_zeros_dropped":false,"oeis_offset":0,"oeis_term_position":0,"row_alignment":"tabl","rows_matched":11,"target":"reversed_triangle","terms_compared":66},"in_catalog":true,"oeis_id":"A081577","oeis_nonn":true},"other_id":null,"other":null},{"id":"l-14d2064a16772e66","kind":"oeis_match","node_a_id":"n-f25cd955a876cde3","node_b_id":null,"fingerprint":null,"oeis_id":"A081577","in_catalog":1,"target":"triangle","row_alignment":"tabl","rows_matched":11,"oeis_nonn":1,"details":{"alignment":{"first_row":0,"low_zeros_dropped":false,"oeis_offset":0,"oeis_term_position":0,"row_alignment":"tabl","rows_matched":11,"target":"triangle","terms_compared":66},"in_catalog":true,"oeis_id":"A081577","oeis_nonn":true},"other_id":null,"other":null},{"id":"l-b15d1b3bd166c4af","kind":"oeis_match","node_a_id":"n-f25cd955a876cde3","node_b_id":null,"fingerprint":null,"oeis_id":"A002605","in_catalog":0,"target":"row_sums","row_alignment":null,"rows_matched":null,"oeis_nonn":1,"details":{"alignment":{"first_row":0,"low_zeros_dropped":false,"oeis_offset":0,"oeis_term_position":1,"target":"row_sums","terms_compared":15},"in_catalog":false,"oeis_id":"A002605","oeis_nonn":true},"other_id":null,"other":null}],"oeis":[{"oeis_id":"A081577","relation":"identification"},{"oeis_id":"A081577","relation":"match_reversed_triangle"},{"oeis_id":"A002605","relation":"match_row_sums"},{"oeis_id":"A081577","relation":"match_triangle"}],"bfiles":[{"node_id":"n-f25cd955a876cde3","oeis_id":"A081577","target":"triangle","oeis_offset":0,"first_row":0,"rows_used":44,"terms_matched":66,"oeis_terms_agreeing":66,"oeis_terms_available":66,"term_count":990,"raw_size":13073},{"node_id":"n-f25cd955a876cde3","oeis_id":"A081577","target":"reversed_triangle","oeis_offset":0,"first_row":0,"rows_used":44,"terms_matched":66,"oeis_terms_agreeing":66,"oeis_terms_available":66,"term_count":990,"raw_size":13073}],"oeis_texts":[{"oeis_id":"","target":"node","first_row":0,"oeis_offset":0,"reversed":false,"trim_zeros":"none","regular_triangle":false,"rows_shown":10,"polytool_commit":"c48629374597092cc41ef4d6273f37991516f984","triangle_example":"Triangle begins:\n  0: 1;\n  1: 1,  1;\n  2: 1,  4,   1;\n  3: 1,  7,   7,    1;\n  4: 1, 10,  22,   10,    1;\n  5: 1, 13,  46,   46,   13,    1;\n  6: 1, 16,  79,  136,   79,   16,    1;\n  7: 1, 19, 121,  307,  307,  121,   19,   1;\n  8: 1, 22, 172,  586,  886,  586,  172,  22,  1;\n  9: 1, 25, 232, 1000, 2086, 2086, 1000, 232, 25, 1;\n","recurrence_sentence":"The row polynomials satisfy P(n,x) = (1+x)*P(n-1,x) + 2*x*P(n-2,x) for n >= 2, with P(0,x) = 1, P(1,x) = 1 + x.","mathematica":"P[0, x_] := 1;\nP[1, x_] := 1 + x;\nP[n_, x_] := P[n, x] = Expand[(1 + x)*P[n - 1, x] + 2*x*P[n - 2, x]];\nTable[CoefficientList[P[n, x], x], {n, 0, 9}] // Flatten","pari":"P(N) = {my(v = vector(N + 1)); v[1] = 1; v[2] = 1 + x; for(n = 2, N, my(i = n + 1); v[i] = (1 + x)*v[i - 1] + 2*x*v[i - 2]); v};\nrow(n, p) = {my(c = Vecrev(p)); c};\nT(N) = {my(v = P(N)); concat(vector(#v, i, row(i - 1, v[i])))};\nT(9)","reading":{"first_row":0,"offset":0,"reversed":false,"trim_zeros":"none","regular_triangle":false}},{"oeis_id":"A081577","target":"triangle","first_row":0,"oeis_offset":0,"reversed":false,"trim_zeros":"none","regular_triangle":true,"rows_shown":10,"polytool_commit":"c48629374597092cc41ef4d6273f37991516f984","triangle_example":"Triangle begins:\n  0: 1;\n  1: 1,  1;\n  2: 1,  4,   1;\n  3: 1,  7,   7,    1;\n  4: 1, 10,  22,   10,    1;\n  5: 1, 13,  46,   46,   13,    1;\n  6: 1, 16,  79,  136,   79,   16,    1;\n  7: 1, 19, 121,  307,  307,  121,   19,   1;\n  8: 1, 22, 172,  586,  886,  586,  172,  22,  1;\n  9: 1, 25, 232, 1000, 2086, 2086, 1000, 232, 25, 1;\n","recurrence_sentence":"The row polynomials satisfy P(n,x) = (1+x)*P(n-1,x) + 2*x*P(n-2,x) for n >= 2, with P(0,x) = 1, P(1,x) = 1 + x.","mathematica":"P[0, x_] := 1;\nP[1, x_] := 1 + x;\nP[n_, x_] := P[n, x] = Expand[(1 + x)*P[n - 1, x] + 2*x*P[n - 2, x]];\nTable[PadRight[CoefficientList[P[n, x], x], n + 1], {n, 0, 9}] // Flatten","pari":"P(N) = {my(v = vector(N + 1)); v[1] = 1; v[2] = 1 + x; for(n = 2, N, my(i = n + 1); v[i] = (1 + x)*v[i - 1] + 2*x*v[i - 2]); v};\nrow(n, p) = {my(c = Vecrev(p)); c = concat(c, vector(n + 1 - #c)); c};\nT(N) = {my(v = P(N)); concat(vector(#v, i, row(i - 1, v[i])))};\nT(9)","reading":{"first_row":0,"offset":0,"reversed":false,"trim_zeros":"none","regular_triangle":true}},{"oeis_id":"A081577","target":"reversed_triangle","first_row":0,"oeis_offset":0,"reversed":true,"trim_zeros":"none","regular_triangle":true,"rows_shown":10,"polytool_commit":"c48629374597092cc41ef4d6273f37991516f984","triangle_example":"Triangle begins:\n  0: 1;\n  1: 1,  1;\n  2: 1,  4,   1;\n  3: 1,  7,   7,    1;\n  4: 1, 10,  22,   10,    1;\n  5: 1, 13,  46,   46,   13,    1;\n  6: 1, 16,  79,  136,   79,   16,    1;\n  7: 1, 19, 121,  307,  307,  121,   19,   1;\n  8: 1, 22, 172,  586,  886,  586,  172,  22,  1;\n  9: 1, 25, 232, 1000, 2086, 2086, 1000, 232, 25, 1;\n","recurrence_sentence":"Row n lists the coefficients of P(n,x) in descending powers of x, where P(n,x) = (1+x)*P(n-1,x) + 2*x*P(n-2,x) for n >= 2, with P(0,x) = 1, P(1,x) = 1 + x.","mathematica":"P[0, x_] := 1;\nP[1, x_] := 1 + x;\nP[n_, x_] := P[n, x] = Expand[(1 + x)*P[n - 1, x] + 2*x*P[n - 2, x]];\nTable[Reverse[PadRight[CoefficientList[P[n, x], x], n + 1]], {n, 0, 9}] // Flatten","pari":"P(N) = {my(v = vector(N + 1)); v[1] = 1; v[2] = 1 + x; for(n = 2, N, my(i = n + 1); v[i] = (1 + x)*v[i - 1] + 2*x*v[i - 2]); v};\nrow(n, p) = {my(c = Vecrev(p)); c = concat(c, vector(n + 1 - #c)); c = Vecrev(c); c};\nT(N) = {my(v = P(N)); concat(vector(#v, i, row(i - 1, v[i])))};\nT(9)","reading":{"first_row":0,"offset":0,"reversed":true,"trim_zeros":"none","regular_triangle":true}}],"derivation":{"root":"n-f25cd955a876cde3","steps":[],"edges":[],"text":"A081577"},"headline":"A081577: Pascal-(1,2,1) array read by antidiagonals.","chain":null}
