Topic: Explicit arguments
Great program. It's my playground for exploring math ideas. Everything works intuitively. The program rarely interferes with the creative process. Thanks especially for including gamma and zeta functions.
I'd like to take a product of a function over a range of primes. There doesn't appear to be a way to do this currently.
Some functions, like product() require arguments for start and end of a range of integers. It's not uncommon to need arguments which are irregular, like the divisors of n or roots of zeta. I'd like to be able to explicitly specify a list of arguments that is not simply a range of integers. Eg. product((x-1)/x, [2,3,5,7,11]).
To enhance this, it would be useful to have a function , say vector(f(x),a,b) that simply returns a list of values from evaluating f over the range a to b. Then product() and sum() could allow a single range argument like so: sum(1/x^2, vector(fact(x),1,7)) where sum takes each value from vector() as an argument.
A BASIC-like case() function and/or index() type function would also be nice for custom functions to return a specified member of a sequence. eg. nth_prime(x) := Return item x in [2,3,5,7,11,13,17].