MathGroup Archive 2009

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

Search the Archive

Re: Re: Strange behavior with loading Experimental package

  • To: mathgroup at smc.vnet.net
  • Subject: [mg105032] Re: [mg105004] Re: Strange behavior with loading Experimental package
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Wed, 18 Nov 2009 07:00:19 -0500 (EST)
  • References: <200911171016.FAA17366@smc.vnet.net>

But you are doing nothing at all in this way. First of all, you do not 
need to load the Context Experimental` (it is not a package!) to see the 
names of the functions. Just try

Names["Experimental`*"]

without "loading" anything (using Get). You will see all the names. You 
can also use the functions without using Get:

Experimental`GenericCylindricalAlgebraicDecomposition[
 x^2 + y^2 + z^2 <= 1, {x, y, z}]

During evaluation of In[14]:= =
Experimental`GenericCylindricalAlgebraicDecomposition::obs:Experimental`GenericCylindricalAlgebraicDecomposition has been superseded by GenericCylindricalDecomposition, and is now obsolete. It will not be included in Mathematica version 8.

{-1 < x < 1 && -Sqrt[1 - x^2] < y <
   Sqrt[1 - x^2] && -Sqrt[-x^2 - y^2 + 1] < z <
       Sqrt[-x^2 - y^2 + 1], x^2 + y^2 + z^2 - 1 == 0}

When you "load" Experimental` using Get all that happens is that it is appended to the ContextPath. So right now:

$ContextPath

 {PacletManager`,WebServices`,System`,Global`}

but after
 << Experimental`

$ContextPath

 {Experimental`,PacletManager`,WebServices`,System`,Global`}

The only thing that CleanSlate will do for you is to remove Experimental from the $ContextPath

<< Utilities`CleanSlate`

In[2]:= $ContextPath

Out[2]= =
{Utilities`CleanSlate`,PacletManager`,WebServices`,System`,Global`}

<< Experimental`

In[4]:= $ContextPath

Out[4]= =
{Experimental`,Utilities`CleanSlate`,PacletManager`,WebServices`,System`,Global`}

CleanSlate["Experimental`"];

  (CleanSlate) Contexts purged: {}

  (CleanSlate) Approximate kernel memory recovered: 3 Kb

In[1]:= $ContextPath

Out[1]= =
{Utilities`CleanSlate`,PacletManager`,WebServices`,System`,Global`}

Notice that by purging the context you recovered 3 Kb of memory, so unless you are really worried about a name conflict there is no real gain in using CleanSlate to purge Experimental.

Andrzej Kozlowski


On 17 Nov 2009, at 19:16, Nasser M. Abbasi wrote:

> ref (me)
>
> I found out that if I use CleanSlate[] then this problem does not show
> up any more. So I am using this package now to remove packages. So, case
> closed. One should always use CleanSlate!
>
> << "Utilities`CleanSlate`"
> SetOptions[CleanSlate, Verbose -> False];
> << "Experimental`";
> Names["Experimental`*"]
>
> CleanSlate["Experimental`"];
>
> << "Experimental`";
> Names["Experimental`*"] ----> OK now, symbols are reloaded ok.
>
> --Nasser
>  "Nasser M. Abbasi" <nma at 12000.org> wrote in message news:...
>  Version 7.0, on windows.
>
>  I load this package using Get (not Needs), then remove all its
> symbols, then do Get again on it, but the symbols in this package do not
> reappear as expected
>
>  In[1]:= << "Experimental`"
>  Names["Experimental`*"]
>
>  Out[2]= { ...}
>
>  In[3]:= Unprotect["Experimental`*"]
>  Remove["Experimental`*"]
>  Out[3]= {...}
>
>  In[6]:= << "Experimental`"
>  Names["Experimental`*"]
>  Out[7]= {}   <--- EMPTY !
>
>
>  But look at another package picked by random, it behaves as expected
>
>
>  In[9]:= << "ANOVA`"
>  Names["ANOVA`*"]
>  Out[10]= {...}
>
>  In[11]:= Unprotect["ANOVA`*"]
>  Remove["ANOVA`*"]
>  Out[11]= {....}
>
>  In[13]:= << "ANOVA`"
>  Names["ANOVA`*"]
>  Out[14]= {....}   <--- OK, not empty
>
>
>  I know, I know, it is called "Expriemental" so should not complain,=

> but thought to point it out just the same as it was affecting =
something
> I am doing...
>
>  --Nasser



  • Prev by Date: Re: Re: Strange behavior with loading Experimental package
  • Next by Date: Re: Re: Solving Ordinary differential equations
  • Previous by thread: Re: Re: Strange behavior with loading Experimental package
  • Next by thread: How to use a discretized controller with NDSolve?