MathGroup Archive 2010

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

Search the Archive

Re: Default and head in function argument

  • To: mathgroup at smc.vnet.net
  • Subject: [mg111668] Re: Default and head in function argument
  • From: NP <nomplume69 at gmail.com>
  • Date: Mon, 9 Aug 2010 05:15:51 -0400 (EDT)
  • References: <i3m42t$hoc$1@smc.vnet.net>

Hi,

Thank you all so much for the helpful solutions with explanations!

On a similar theme, I got the following to work for the case where
options are not constants

Clear[f1];
f1[A_?MatrixQ, epsilon_: Automatic] := Module[{cv = epsilon},
  If[cv === Automatic,
   cv = IdentityMatrix[Dimensions[A][[1]]] + (1/Det[A]) A,
   IdentityMatrix[Dimensions[A][[1]]] + epsilon A]]
f1[{{1, 2}, {3, 4}}]

but not the following (only change is in the second argument)

Clear[f2];
f2[A_?MatrixQ, epsilon:(_?NumericQ):Automatic] :=
 Module[{cv = epsilon},
  If[cv === Automatic,
   cv = IdentityMatrix[Dimensions[A][[1]]] + (1/Det[A]) A,
   IdentityMatrix[Dimensions[A][[1]]] + epsilon A]]
f2[{{1, 2}, {3, 4}}]


Thanks in advance!

NP


  • Prev by Date: Re: How to use the result of Solve in Plot?
  • Next by Date: Re: How to use the result of Solve in Plot?
  • Previous by thread: Re: Default and head in function argument
  • Next by thread: Re: Default and head in function argument