2010-May-22: - added section about mixed radix numbers with prescribed sum of digits (these are one-to-one with k-subsets of a multiset) 2010-May-20: - added chapter about k-permutations (lexicographic order and Gray code) 2010-May-16: - added section about correlation and convolution as multiplication with circulant matrices 2010-May-05: - added short section about run-length limited (RLL) words 2010-May-04: - algorithm for the computation of the minimal polynomial of an element in GF(2^n) requiring only space O(n) 2010-April-23: - loopless algorithm for two-close Gray code for Dyck words 2010-April-18: - Three more dragon cuves, respectively via counting in radix-7, radix-9, and radix-13 2010-April-16: - dragon curve based on radix-7 counting (R7-dragon) 2010-April-15: - dragon curve based on radix-5 counting (R5-dragon) 2009-July-17: - 16th order product for elliptic K 2009-June-18: - algorithm for random connected (indecomposable) permutation 2009-June-02: - algorithm for random permutations such that relative order of first k elements is preserved. - algorithm for random k-prefix of a permutation. 2009-May-26: - algorithm for random permutation with prescribed parity 2009-March-25: - changed title from "Algorithms for Programmers" to "Matters Computational" 2009-March-22: - general paper-folding sequences and a triangular space-filling curve 2009-March-21: - algorithm for random derangement (permutation without fixed point) 2009-March-18: - algorithm for random involution (self-inverse permutation) 2009-March-11: - algorithm for random permutation with prescribed cycle type 2009-March-09: - algorithm to generate all involutions (self-inverse permutations) 2009-March-08: - bit-level algorithm for the terdragon curve 2009-March-06: - bit-level algorithm for paper-folding sequence and dragon curve 2009-March-05: - added some curious identities for the eta-function 2009-February-25: - added prefix transform and prefix convolution 2009-February-19: - added successor computation for Golay-Rudin-Shapiro sequence 2009-February-18: - added method for subset convolution (via weighted OR-convolution) 2008-December-31: - added merge sort algorithm, also optimized 4-way variant 2008-October-25: - added algorithm for paren strings via prefix shifts (Ruskey/Williams) 2008-October-24: - added Williams' algorithm for permutations of a multiset via prefix shifts 2008-July-20: - added Lunnon's Gray code for permutations of a multiset 2008-July-13: - added left-right array (LR-array) - added fast methods to convert permutations to and from Lehmer code (inversion table) 2008-July-07: - added strong Gray code order for combinations that is obtained via modulo moves. 2008-June-26: - added constant amortized time (CAT) algorithm for modular Gray code with mixed radix numbers. 2008-April-13: - added improved irreducibility test for binary polynomials 2008-April-07: - added fast method to compute the CORDIC constant K=1.6467602581210... 2008-March-23: - added "detailed" generating function for permutations of given cycle type, similarly for set partitions 2008-March-16: - added algorithm for the computation of the Schroeder iteration via series reversion 2008-March-04: - added algorithm for the generation of bit-combinations in shifts-order 2008-March-03: - added method for bit-counting large arrays via vertical addition 2008-March-02: - added fast routine for the computation of field polynomials with type-2 optimal normal bases 2008-February-17: - added one example of a multi-point iteration - added closed form for Pade approximants of r-th root 2008-February-05: - added description (in appendix) how to make the hyperlinks work on any machine. 2008-February-02: - simplified arbitrary length FFT (chirp-z algorithm) - code examples now have line numbers 2007-October-01: - added algorithm for loopless generation of Gray code for k-ary trees where all changes are homogeneous 2007-September-24: - added routines for conversion to and from self-reciprocal polynomials (SRP) 2007-September-16: - added Ives' algorithm for permutations 2007-September-09: - added Wells' Gray code for permutations and a variant by Lipski 2007-September-08: - added three more algorithms for Gray codes for permutations. 2007-September-01: - added algorithm for single track order for permutations with minimal number of changes (Gray code for odd n) 2007-August-30: - added algorithm for compositions in colex order that is also efficient for the sparse case (i.e. k much greater than n) 2007-August-29: - added recursions for Gray code for compositions corresponding to two-close combinations (enup moves) and Eades-McKay sequence. 2007-August-26: - added iterative algorithm for combinations in Eades-McKay order (a strong minimal-change order). 2007-August-24: - added iterative algorithm for combinations in endo order (a strong minimal-change order). 2007-August-16: - added CAT algorithm for minimal-change order for permutations corresponding to the Gray code in rising factorial base. 2007-August-14: - added algorithm for single track ordering for permutations 2007-August-05: - added algorithm for multiset permutations in lexicographic order 2007-July-28: - added algorithm for Gray code for permutations where any element is at most one position to the left or at most d positions to the right from its original position - added algorithm for Gray code for permutations where any element is at most one position to the right of its original position 2007-July-27: - added algorithm for Gray code for words where digit x is followed by at least x zeroes. 2007-July-24; - added algorithm for alternative Gray for binary words with maximal r successive ones where r>=3 and r odd 2007-July-19: - added algorithm for Gray code for binary words without substring 1xy1 - added (alternative) algorithm for Gray code for binary words without substring 111 - added (alternative) algorithm for Gray code for binary words without substring 1111 2007-July-04: - added algorithm for Gray code for binary words without substring 1x1 2007-July-01: - added algorithm for Gray code for strings with no two successive zeros 2007-June-28: - added algorithm for Gray code for strings with no two successive nonzero digits 2007-June-27: - added method to generate Gray codes for radix-(r+1) strings with forbidden substring rx where x!=0 (generalized Pell words) 2007-June-22: - added method to generate Gray codes for binary words with at most r successive ones (generalized Fibonacci words) 2007-June-14: - added method to obtain product representation of power series 2007-June-10: - added method for simultaneous computation of logarithms of small primes 2007-May-29: - added method for fast exact inversion over GF(2) and for n=2^k+-1 2007-April-23: - added section about subsets in (minimal-change) shifts-order 2007-April-01: - added section about computation of sparse bit subsets in Gray code order 2007-March-27: - added section about fast computation of OR-convolution and AND-convolution 2007-March-25: - added section about dual normal bases 2007-March-19: - added algorithm to compute trace vector 2007-March-17: - added chapter about wavelet transform - generalized sum-of-digits test for modulus R^n-1 where R is the radix 2007-March-14: - added section about fast radix conversion 2007-March-04: - added short intro to the pari/gp language 2007-February-14: - added section about rectangular schemes for the computation of power series [2007-February-24: simplified and extended] 2006-December-03: - added special primality test for numbers of the form 12*k+7 2006-November-19: - added section about Fibonacci-Haar and Fibonacci-Walsh transforms - added section about Mersenne-Haar and Mersenne-Walsh transforms - added section about non-existence of Gray codes for binary Lyndon words of even length n>=8 2006-October-08: - added section about generation of revbin pairs via LFSR 2006-September-24: - added section about subsets of a multiset via mixed radix counting 2006-September-11: - added 3-way splitting schemes for multiplication and squaring - added 4-way and 5-way splitting schemes for squaring 2006-August-19: - added more superlinear iterations for Pi 2006-June-28: - added intro text for chapter about combinatorial generation 2006-June-25: - Added super fast routines for Heap permutations - Added very fast routine for permutations by reversing prefixes 2006-June-24: - Added very fast and versatile routines for Trotter/Johnson permutations 2006-June-22: - Added Heap's algorithm for permutations in minimal-change order 2006-June-21: - OEIS numbers now clickable - OEIS numbers listed in index ("integer seq., by OEIS number") 2006-June-20: - added section about a different type of restricted growth strings 2006-June-18: - added section about restricted growth strings (RGS) for set partitions 2006-June-17: - added section about mixed radix numbers in endo order, and Gray code for endo order 2006-June-16: - added section about mixed radix counting - added section about factorial representations for permutations - added algorithm for Gray code for cyclic permutation 2006-June-11: - added algorithm for Gray code for k-subsets where kmin