MathGroup Archive 2004

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

Search the Archive

Attributes and behaviors?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg46545] Attributes and behaviors?
  • From: "Fred Klingener" <flush at BitBucket.com>
  • Date: Mon, 23 Feb 2004 02:15:37 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Please help me understand better the relationship between attributes and
behaviors.

Background:  I'm a Mathematica (5.0.0) newbie who's trying to build a
package for dual numbers.  In the package, ultimately I want to overwrite
the System numeric functions to handle dual numbers without affecting the
handling of the native (atomic) types.

Progress so far:  I have some sample functions working pretty well.
Functions I've named things like kDualNumberSin[] seem to work numerically
and symbolically on dual numbers and to drop through (via an explicit call)
to System`Sin[] on Real arguments.  Now I'm ready to think about overwriting
System`Sin[], for example, and I'm having trouble getting my head around
atttributes.

I've built a toy function:  kSin[x_] :=Sin[x], and here are a few
observations about it:

- In:-> Attributes[Sin] Out:-> {Listable, NumericFunction,...}
- In:-> Attributes[kSin] Out:-> {}
- a few tests show that kSin[] has full listable behavior, that is, it
produces the same
  output as Sin[] when fed a List as an input argument.

- My 'serious' function kDualNumberSin[] relies on Series[] for its
operation.
- Series[] has no Listable attribute.
- a few primitive tests show that Series[] in fact has Listable capability.
- kDualNumberSin[] also seems to have listable capability.

All of this is confusing.

- What's the nature of the relationship between attributes and behavior?
- Is the attribute used in some inscrutable inner workings of the kernal?
- What are the costs and benefits of simply setting the Listability
attribute in my function?
- How certain do I have to be that my function really IS Listable before I
set the attribute?
- Does the absence of the Listability attribute of Series[] mean that its
current listable behavior is an undocumented feature subject to future
abandonment?

TIA for any help,

Fred Klingener
Brock Engineering


  • Prev by Date: Re: how to explain this weird effect? Integrate
  • Next by Date: Re: Bernoulli variables again
  • Previous by thread: Re: Help with Export function
  • Next by thread: Re: Attributes and behaviors?