[Date Index]
[Thread Index]
[Author Index]
Using a list as a variable
*To*: mathgroup at smc.vnet.net
*Subject*: [mg67069] Using a list as a variable
*From*: "Bonny Banerjee" <banerjee at cse.ohio-state.edu>
*Date*: Thu, 8 Jun 2006 04:54:33 -0400 (EDT)
*Organization*: Ohio State University
*Sender*: owner-wri-mathgroup at wolfram.com
I would like to use a list (or set) as a variable. I am working on the
Subset-Sum problem. Given a set S of integers, the goal is to find a subset
of S (say Q) whose elements add to a given integer x. This is how I would
like to define the function:
SubsetSum(S, x) := {Q such that Q is a subset of S and sum of the elements
of Q is x}
In Mathematica functional programming language, this would look like:
SubsetSum[S_, x_] := Reduce[Q \[Element] Subsets[S] && Sum[Q,
{i,1,Length[Q]}]==x, Q, Reals]
Now when I try to evaluate SubsetSum[{1, 3, 5, 2, 7, 100, 6}, 101], the
output is as follows:
Reduce : : naqs :
\[Exists]{Q} Q is not a quantified system of equations and
inequalities. More ...
Out[365]= Reduce[Q, False, Q, Reals]
I guess, Mathematica is not being able to understand from my statement that
the variable Q is not an atom but a list. But it should since I stated that
Q is an element of the power set of S.
Note that I know how to write a function for Subset-Sum using a Module. But
I am interested in functional programming, similar to the format shown
above.
Any help would be appreciated.
Thanks much,
Bonny.
Prev by Date:
**Re: Plot Sequencies of Complex Functions**
Next by Date:
**Re: calling mathematica from an external program**
Previous by thread:
**Exporting HDF with multiple SDS**
Next by thread:
**Re: Using a list as a variable**
| |