Re: strange behaviour
- To: mathgroup@smc.vnet.net
- Subject: [mg10677] Re: strange behaviour
- From: Allan Hayes <hay@haystack.demon.co.uk>
- Date: Fri, 30 Jan 1998 04:24:16 -0500
- References: <6ahmuv$pft@smc.vnet.net>
Jean-Marie THOMAS wrote: > > MatrixQ has a strange behaviour: > > ?MatrixQ > "MatrixQ[expr] gives True if expr is a list of lists that can represent > a \ matrix, and gives False otherwise. MatrixQ[expr, test] gives True > only if \ test yields True when applied to each of the matrix elements > in expr." > > MatrixQ[{{},{}}] gives True because its argument is a list of lists of > equal length. No problem. > > Now: > NumberQ[{}] gives False because {} is not a number. I can understand > that. > > But: > MatrixQ[{{},{}},NumberQ] gives True, and this seems to me in > contradiction with the definition of MatrixQ[expr, test] > > Can somebody explain this to my stupid mind? > > ----------------------------------------------- > > Jean-Marie THOMAS > Conseil et Audit en Ingenierie de Calcul jmthomas@cybercable.tm.fr > +33 (0)3 88 32 93 64 > www.cybercable.tm.fr/~jmthomas > ======================= Jean-Marie, Perhaps a rewording: "For all e if e is an entry in {{},{}} then NumberQ[e] gives True." Since a implies b is false iff a is true and b is false, this is true. or " There is no entry, e, in {{},{}} for which NumberQ[e] give False" Related results MatchQ[{},{___?NumberQ}] True MatchQ[{},{_?NumberQ...}] True Allan -- Allan Hayes Training and Consulting Leicester, UK hay@haystack.demon.co.uk http://www.haystack.demon.co.uk voice: +44 (0)116 271 4198 fax: +44 (0)116 271 8642