Services & Resources / Wolfram Forums / MathGroup Archive

MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Mathematicas simplifications

  • To: mathgroup at
  • Subject: [mg96333] Re: Mathematicas simplifications
  • From: "Sjoerd C. de Vries" <sjoerd.c.devries at>
  • Date: Thu, 12 Feb 2009 06:32:06 -0500 (EST)
  • References: <gmrmfk$a0f$>

I'm not sure whether I would call it a bug. Select works on lists, but
Divisors[n] isn't a list until you provide the value of n explicitely.
If n is not an integer you don't even get a list. With your function
definition, the Select is given a specific value for n upon evaluation
so everything is fine.

I do think Select responds inconsistently to undecidable cases like
this. If you try

Select[Divisors[n], EvenQ]
Select[Divisors[n], NumericQ]
Select[Divisors[n], IntegerQ]
Select[Divisors[n], PrimeQ]
Select[Divisors[n], VectorQ]
Select[Divisors[n], AtomQ]
Select[Divisors[n], SquareFreeQ]

the first five expressions give you an error message

During evaluation of In[62]:= Divisors::argx: Divisors called with 0
arguments; 1 argument is expected. >>

Out[62]= Divisors[]

The last two yield simply:


The strange thing is that it is Divisors[ ] that's giving the message
in some cases and not in other, similar, cases. I would expect Select
to give a message.

Actually, in my opinion, in cases like this the best solution would be
to have Select to return unevaluated.

Cheers -- Sjoerd

On Feb 10, 12:55 pm, Kilian Kilger <kil... at> wrote:
> Hello,
> if I type in Mathematica 7 for example
> Select[Divisors[n],SquareFreeQ]
> It gives me
> Divisors[n]
> as a response, which is wrong. If I type
> f[n_] := Select[Divisors[n],SquareFreeQ]
> and then
> f[4]
> it gives me
> {1,2}
> which is correct. If I type (afterwards)
> f[n]
> again the wrong answer "Divisors[n]" is shown. What am I doing wrong? Sam=
e happens in many other circumstances.
> Thanks in advance,
> Kilian.

  • Prev by Date: Re: simplifying RotationMatrix
  • Next by Date: Re: linear regression with errors in both variables
  • Previous by thread: Re: Mathematicas simplifications
  • Next by thread: Critical memory leak with J/Link (2)