How to | Clear My Definitions

When you set a value to a symbol, that value will be used for the symbol for the entire Mathematica session. Since symbols no longer in use can introduce unexpected errors when used in new computations, clearing your definitions is very desirable.

Assign values to two symbols ( and ) and observe their sum:

In[1]:=
Click for copyable input
Out[3]=

Use Clear to clear the definitions for and :

In[4]:=
Click for copyable input

Observe that and no longer have values associated with them and are treated as symbols without definitions:

In[5]:=
Click for copyable input
Out[5]=

This command clears all the definitions made during the current Mathematica session:

In[6]:=
Click for copyable input
    

Use ClearAll to clear not only the values and definitions of symbols but also the attributes and messages associated with them.

Start with a function to output a range from 0 to some positive integer:

In[7]:=
Click for copyable input

Notice that returns an error when a list is given as the argument:

In[8]:=
Click for copyable input
Out[8]=

Now set to be Listable, so that maps over lists when lists are given as arguments:

In[9]:=
Click for copyable input
Out[10]=

Notice that after is cleared, the attribute Listable still remains:

Use ClearAll to clear attributes and messages as well:

    

Use ClearAttributes to clear only the attributes of a function and retain its definition.

Redefine and set it to be Listable as before:

Now use ClearAttributes and notice that while the definition of remains, the Listable attribute is no longer present:

    

You can also use Unset (=.) to clear any values or definitions made to a symbol:

In[20]:=
Click for copyable input
Out[20]=
    

Remove will remove a symbol completely until it is referenced again:

Referring to will bring it back into the Mathematica session:

In[25]:=
Click for copyable input
Out[25]=

In the case of locally defined symbols, which store values set only for a specified portion of a program, definitions are cleared automatically after use. Symbols can be locally defined by using Block or Module.

New to Mathematica? Find your learning path »
Have a question? Ask support »