The continuous property

As the discussion in this thread  did not provide me a clear understanding of the implementation and intended usage of the property 'continuous' I have looked at this subject a bit further. And as it is an underdocumented subject, it seems fit to post here some issues that I have found.

The help page ?property states in a table of the properties for functionals:

Name              Parent        Description

continuous     mapping    a function that is continuous for every real value, in every parameter

Similarly:

`property/Description`[continuous];

   a function which is continuous for every real value, in every parameter

Fine, but what is a "function" here? At start, Maple attaches properties to some object names (here in Maple 12):

nops([indices(op(`property/object`))]);
indices(op(`property/object`));
                                     91
[limit/Y], [limit], [binomial], [cos], [limit/Z], [hankel], [coth], [mellin],
  [erf], [fouriersin], [FresnelS], [trunc], [Catalan], [Diff], [invztrans],
  [BesselK], [round], [ithprime], [arcsech], [sec], [BesselJ], [prevprime],
  [BesselY], [signum], [bernoulli], [invfourier], [erfi], [invlaplace],
  [tanh], [hilbert], [modp], [Int], [product], [sin], [arcsinh], [dawson],
  [gamma], [arcsin], [abs], [Ci], [GAMMA], [arccos], [LambertW], [Zeta],
  [sinh], [arccot], [fourier], [cosh], [min], [arctanh], [Psi], [euler],
  [Beta], [arccsch], [D], [Ei], [mods], [Sum], [BesselI], [Pi], [ztrans], [@],
  [tan], [fouriercos], [dilog], [arctan], [csc], [cot], [sqrt], [arccosh],
  [@@], [laplace], [diff], [invhilbert], [Limit], [nextprime], [sum], [sech],
  [exp], [arccsc], [ln], [csch], [arcsec], [max], [erfc], [int], [sign],
  [limit/X], [FresnelC], [arccoth], [Si]

I.e. names of mathematical functions, constants, operators, inert commands, etc. Of these, only 'abs' has the property 'continuous' explicitly attached:

`property/object`[abs];
                 AndProp(EvenMap, continuous, Non(constant))

For the other objects in this table, the property 'continuous' is derived from the property lattice by its order relation, "<P" say, between "child" and "parent" properties. E.g.:

`property/object`[sin];
          AndProp(OddMap, InfinitelyDifferentiable, Non(constant))

and

InfinitelyDifferentiable <P differentiable <P continuous 

Then:

is(sin,continuous);

                                    true

So, this property works in a "functional sense" as, on one hand it is attached to the function name, but does not work for function calls or procedures:

is(sin(x),continuous);
                                    false
is(x->sin(x),continuous);
                                    false

And, on the other hand, it works for some functional expressions:

is(2*sin,continuous);
                                    true

is(D(sin),continuous);
                                    true

However, this implementation is strange, to say the least, as, apparently, there is no provision for a functional constant. Indeed:

is(1,continuous);
                                    false

So, to see what is intended in this implementation to be "continuous", I have tracked its child properties in the lattice:

`property/ChildTable`[continuous];
`property/ChildTable`[op(%)];
`property/ChildTable`[op(%)];
`property/ChildTable`[op(%)];
`property/ChildTable`[op(%)];
                              {differentiable}
                         {InfinitelyDifferentiable}
                               {PolynomialMap}
                                 {LinearMap}
                                {BottomProp}

So, any object with these properties is deduced to have the property 'continuous'. E.g. there are 18 objects in the table '`property/object`' with the property 'LinearMap', so:

[hankel ,mellin ,fouriersin ,Diff , invztrans , invfourier ,invlaplace ,
hilbert , Int, fourier , Sum, ztrans, fouriercos, laplace, diff, invhilbert ,
sum, int]:

map(is,%,continuous);

[true, true, true, true, true, true, true, true, true, true, true, true, true,
  true, true, true, true, true]

I do not understand in what sense 'Diff' or 'Int' is meant to be "continuous".

Comments

JacquesC's picture

Very weird indeed

First, note that Maple's iscont routine is the traditional way to check continuity.  Its definition is the more usual one.

The continuity property seems to be both generalized (ie applies to functionals as well as to functions) and somewhat neutered (the bug with respect to constants that you found).  I am fairly sure that, using the right topology on the right space, Diff and Int are continuous (essentially because indeed they are linear maps!).  I wonder however if that is actually useful.

alec's picture

Int and Diff

Int is certainly continuous and more than that, compact in standard cases. But Diff is usually not, I think, because otherwise it would be a continuous operator inverse to a compact operator Int, and compact operators usually can't have continuous inverse operators in infinite dimensional spaces.

Linearity, in general, doesn't imply continuity.

Alec

compact in standard cases

means that the integral is bounded?

alec's picture

Yes

For functions on [0,1], for example, yes. 

The standard terminology in physics is bounded and unbounded, I think, instead of continuous and not continuous.

Some pathological examples can be constructed (such as using discrete topology in which any function (or operator in different terminology) is continuous), but I meant usually used (not pathological) function spaces.

Edit: Just noticed the word "compact" in the title. Bounded is the same as continuous (on normed spaces), but compact is even "better" property.

Thinking about that, I could just say that Diff is not continuous (usually)  because it is not bounded.

Alec

 

Concrete examples

As the commands 'Int and 'int' are typically intended to represent integration of functions on the reals, and that is the "definition" of 'continuous', let us focus on such examples.

And these commands represent indefinite integration as well as definite integration on both bounded and unbounded intervals.

Begining with the question when indefinite integration is continuous, I was thinking  as first example on diverging (unbounded) functions like 1/x^n with n integer >=2. These functions are not continuous for every real value of x (ie divergent as x->0 and undefined as real functions at x=0). The same for their integral. Idem for any linear combination.

It seems in this example that integration cannot be continuous in the sense of the definition, even being linear.

alec's picture

Int and Diff

What I meant by continuity of Int, is that, for example, on the function space of analytic functions, the integral of an analytic function is analytic, and considering "topological basis" 1, x, x^2, x^3, ... it can be deducted that it is bounded in some sense. While Diff is unbounded.

Generally speaking, in Maple terminology, both Diff and Int, being inert operators, transform any expression f to an expression of type Int(f,x), or Int(f,x=-infinity..infinity,CauchyPrincipalValue) or Int(f,x=0..1), or maybe Int(f,y,continuous). And while continuity with respect to the first argument may have some sence, the continuity with respect to second, or third argument doesn't.

I also agree with Jacques that it is useless, even if it had some sense, because Maple doesn't work with function spaces and related constructions, and it would be not that simple, probably, even to define them properly.

Alec

analytic

So, at least,  "analytic" should be added to the property lattice. Probably, all this should be revised.

alec's picture

LinearMap

I also think that continuity should not be deducted from such things as LinearMap or PolynomialMap because they are defined in much large context including Diff and Int, for which, as we discussed, property "continuous" should not be applied.

Alec

JacquesC's picture

Fully agree

that 'analytic' should be added, and that LinearMap and PolynomialMap are improperly placed (and used) in the lattice.

Knowing how LinearMap is used internally in assume, I think that 2 different concepts got conflated, and need to be teased apart again.

alec's picture

"Visual" continuity

Continuity can be visualized (it is not the definition) as follows - if 2 inputs are close to each other, then their outputs are also close. From this point of view, if 2 functions are close to each other, even if the graph of one of them looks smooth, and the graph of another one is close to it, but looks like a saw, their integrals are close to each other, so the integration operator is continuous. But their derivatives are very different, so the differentiation operator is not continuous.

Alec

No problem for me

to see that. For integration of bounded or continuous functions it is OK. But for indefinite integration of diverging functions it does not seem so. So, it depends on what operation (definite or indefinite integration) 'Int' or 'int' represent, the space of functions on which integration is made and the interval in the case of definite integration.  In general, for all the possible integration operations that 'Int' or 'int' represent, it is doubtful that "continuous" makes sense.

I do not expect the Maple property system design to be ever able of dealing with things like the continuity of functionals (maps on function spaces).  May be Axiom?

alec's picture

I agree with that

I agree with that, I also think that continuity shouldn't be applied to both Int and Diff.

Alec

LinearMap and monotonic

The situation is even more curious. On one hand, I have missed two names with property 'LinearMap' : 'limit' and 'Limit' . So they are also 'continuous'...

On the other hand, for the property 'monotonic':

about(monotonic);
monotonic:
  a function which over the reals and where defined is non-decreasing (or non-increasing)
  a known property having {mapping} as immediate parents
  and {StrictlyMonotonic} as immediate children.

It holds in the property lattice:

 

`property/ChildTable`[monotonic];
`property/ChildTable`[op(%)];
                             {StrictlyMonotonic}
                                 {LinearMap}

Hence, for these 20 names:

[hankel ,mellin ,fouriersin ,Diff , invztrans , invfourier ,
invlaplace , hilbert , Int, fourier , Sum, ztrans, 
fouriercos, laplace, diff, invhilbert , sum, int,limit,Limit]:
map(is,%,monotonic);

[true, true, true, true, true, true, true, true, true, true, true, true, true,
  true, true, true, true, true, true, true]

What could be argued about that?

 

alec's picture

constants

And constants are not monotonic, too. I think, I mentioned about that in another thread though.

Alec

Parents of LinearMap

Ie, the properties that for those 20 names with property 'LinearMap' hold also as true:

`property/ParentTable`[LinearMap];
map(u->`property/ParentTable`[u],%);
map(u->`property/ParentTable`[op(u)],%);
map(u->`property/ParentTable`[op(u)],%);
map(u->`property/ParentTable`[op(u)],%) minus {{}};
map(u->`property/ParentTable`[op(u)],%);
                     {PolynomialMap, StrictlyMonotonic}
                {{monotonic},{InfinitelyDifferentiable}}
                        {{mapping}, {differentiable}}
                          {{TopProp}, {continuous}}
                                 {{mapping}}
                                 {{TopProp}}

There is no representation of domain, hence of its properties (ie nothing like the domain of analytic functions). And the definitions of these properties are given for real functions on the real axis, implicitly defining the domain. So, it seems to me that this property lattice (as here with the family of 'LinearMap') should be corrected to represent the relationship of the properties as they hold on this precise domain. Do you agree?

I wonder also whether the code of Maple somewhere uses these properties implying a different domain.

alec's picture

Even for real functions

Many of these seem to be wrong even for real functions. For example, constant 0 is obviously linear, but it is not StrictlyMonotonic.

Alec

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
}