How do you properly define an infintisimal scaler?

  • Context: Graduate 
  • Thread starter Thread starter tanus5
  • Start date Start date
Click For Summary

Discussion Overview

The discussion centers around the proper definition and application of an infinitesimal scalar, particularly in the context of fuzzy logic algorithms and computational challenges. Participants explore various mathematical frameworks, including non-standard analysis, and share experiences related to implementing these concepts in programming environments.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant proposes defining an infinitesimal scalar as [(∞ - 1)/∞], expressing concern about potential computational issues.
  • Another participant questions the necessity of an infinitesimal scalar, suggesting that the issue may stem from a lack of rigor rather than a genuine need for such a concept.
  • A participant describes their use of an infinitesimal scalar in a fuzzy logic algorithm to ensure that implications from traits do not fully determine the state of a trait.
  • Some participants mention non-standard analysis as a rigorous framework for defining infinitesimals, but express difficulty in understanding its notation.
  • One participant shares a Java code snippet to illustrate their approach, but another challenges its mathematical validity and highlights floating-point computational problems.
  • There is a suggestion to consider the smallest possible value as an ULP (Unit in the Last Place) for floating-point numbers, emphasizing that it is not a fixed value.
  • A participant discusses their intention to use sigma notation for clarity and to avoid computational issues, while also exploring the implications of using fuzzy numbers in their formula.
  • References to external resources and literature on infinitesimals and floating-point arithmetic are shared to support the discussion.

Areas of Agreement / Disagreement

Participants express differing views on the necessity and definition of infinitesimals, with some advocating for their use in specific contexts while others question their relevance. The discussion remains unresolved regarding the best approach to define and utilize infinitesimals in mathematical formulations.

Contextual Notes

Participants note limitations in understanding non-standard analysis and the challenges of applying infinitesimals in programming contexts, particularly regarding floating-point arithmetic and computational precision.

tanus5
Messages
52
Reaction score
0
I have run into some situations where I need to scale a number by an infinitesimal amount and would like to know the correct way of defining this.

The best I have come up with is [(∞ - 1)/∞] but I fear that this notation may cause computational problems. Is there a better way to define a number that is infinitesimally less than 1?
 
Physics news on Phys.org
Can you give an example of why you need to do this? I suspect the problem is more that you are trying to skip rigor than that you need a well-defined notion of an infinitesimal number.
 
hi tanus5! :smile:
tanus5 said:
I have run into some situations where I need to scale a number by an infinitesimal amount

i don't understand :confused:

can you give an example?​
 
To answer the questions as to why I need an infinitesimal scaler. I have developed a fuzzy-logic algorithm that evaluates an object with an incomplete data set of traits where some traits imply other traits to some degree. The infinitesimal scaler ensures that the implications from all other traits can never fully equal the state of the a trait being fully known in the data. I would like to present this as a mathematical formula.
 
Last edited:
HallsofIvy said:
The only mathematical system in which you can rigorously define "infinitesmals" is in "Non-standard analysis": http://en.wikipedia.org/wiki/Non-standard_analysis

I am having difficulty processing the information about non-standard analysis as much of the notation used is new to me. I do see a great deal of set notation though. Would the following be valid based on the non-standard analysis?

Is = 1 - (1/Ʃx)

Or should I write it out explicitly as 1 - (1 / {1 + 2 ... + ∞}) ?

In the Java programming language this problem can be easily stated as the following code.

Code:
java.lang.Double I_s = (java.lang.Double.MAX_VALUE - 1)/java.lang.Double.MAX_VALUE;
 
Last edited:
The java statement is not comparable to what you posted mathematically.

You java statement in English is:
Given: DBL_MAX is approximately 1.8 * 10^308 (on the system I'm typing on), the largest number an IEEE-754 double can represent.

Code:
double var=DBL_MAX - 1 / DBL_MAX;

You are already running into floating point computational problems doing things like that, IEEE-754 binary doubles have issues.

For starters, use a decimal fp library. Plus, I cannot get what you are doing.
 
I rethought this. MAybe you can represent the smallest possible value as an ULP - which is the limit of precision for a floating point number in a given range. It is not a fixed value.

In any event consider reading this 'What every computer scientist should know about floating point arithmetic':
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
 
Jim,

Thanks for the feedback and that looks like a good article. To be completely honest this isn't being done in Java, it was being done in SciLab, I just used Java as an example since its known by more people. I'm not targeting the smallest possible number, I'm targeting the smallest possible number that is less than one so I can multiply that .999999... by some value that has a known maximum (in this case 1 since its fuzzy logic) ensuring that the value never actually reaches one. In my code I used something like 999/1000 since 1000 is large enough for this case. When it comes to defining this formula mathematically I should be able to be more precise than computers can handle. As of now I'm sticking with the sigma notation as that seems to be the most readable and least likely to cause computational problems.

Is = 1 - (1/Ʃx)

If 0 <= G(z) <= 1 Then

0 <= Is * G(z) < 1

So ...

Where Y = {0,1}

0 <= Y + ( (1 - Y) * Is) * G(z) <= 1

And that is why I need an infinitesimal because I don't want G(z) to be able to imply that Y is known to be true.

[edit] This formula seems to still work if Y is also a fuzzy number 0 <= Y <= 1, but I haven't yet tested that case since in the final application, which will be in PHP+MySQL, the value of Y is a boolean value. It would be interesting to see what the behavior is for a fuzzy Y, as far as I can tell though even a fuzzy Y with this formula cannot imply that Y is fully known unless Y actually equals 1.
 
Last edited:
  • #10
In this http://dl.dropboxusercontent.com/u/20879623/CarrollDoughertyPerkinsMM.pdf, on page 11 the authors introduce the symbol ##\circledcirc## for an infintessimal, originally introduced by J. M. Henle, and E. M. Kleinberg, Infinitesimal Calculus, MIT Press,
Cambridge, 1979.
 
  • #11
@scurty, thanks, that is exactly what I needed. I wish I had read that before studying calculus in the first place, it would have helped me to avoid many headaches.

[edit] after the fact I ran some tests in scilab and this formula does not work for a fuzzy Y. I still have a ways to go to adjust this formula to integrate fuzzy knowledge about the trait being tested. If you use Y = 0.5 and G(z) = 0.5 where 0.5 means unknown you can clearly see this formula doesn't work if Y is a fuzzy number.
 
Last edited:

Similar threads

  • · Replies 24 ·
Replies
24
Views
7K
  • · Replies 0 ·
Replies
0
Views
3K
  • · Replies 22 ·
Replies
22
Views
4K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 5 ·
Replies
5
Views
1K
  • · Replies 12 ·
Replies
12
Views
1K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K