# Before Installation:

The operating system needs to be updated before installing python(x.y). Run the following command to update the system.

It is necessary to check that any python interpreter is installed before in the system or not. Run the following command to check the installed version of python. It is better to remove any previously installed python version before installing python(x,y).

The output shows that no python package has been installed before in the system. For this case, we have to install the python interpreter first.

### Install Python(x.y)

You can install python(x,y) or scientific python packages in two ways. One way is to download and install an appropriate python(x,y) package based on Ubuntu and another way is to install necessary packages for performing scientific computing in Python. The second way is easy to install which is followed in this tutorial.

**Steps:**

- First, you have to install the python interpreter and package manager to start the installation process. So, run the following command to install
**python3**and**python3-pip**packages. Press ‘**y**’ when it will ask permission for installation.

- Next, you have to install the necessary scientific libraries of
**python3**for doing scientific operations. Run the following command to install the libraries. Here, five libraries will be installed after executing the command. These are**numpy, matplotlib, scipy, pandas**and**sympy**. The uses of these libraries are explained in the next part of this tutorial.

python3-scipy python3-pandas python3-sympy

- To remove the limitations of the python interpreter and provide a user-friendly interface,
**ipython**package is used. Run the following command to install**ipython3**package.

- Run the following command to install
**qt5**related packages for GUI development.

python3-pyqt5.qtopengl python3-pyqt5.qtquick

**Spyder**is a useful code editor that can highlight the syntax, and make the code editing and debugging easier. Run the following command to install**spyder**.

If all the packages mentioned above are installed properly without any error then your python(x,y) is installed properly.

### Using Python(x,y):

Some basic uses of python(x,y) are shown in this part of the tutorial by using different examples with explanations. You will need to run the **spyder** code editor to start using python(x,y). Click on the **Show Application** icon and type ‘**sp’** in the search box. If **spyder** is installed properly then **spyder **icon will appear.

Click on **Spyder3 **icon to open the application. The following screen will appear after opening the application.

Now, you can start writing code for doing scientific computing tasks. The basic uses of the five installed libraries of python3 for scientific operations are shown in the following six examples.

**Example-1: Using variables and types**

This example shows the very basic use of python data types and variables. In the following script, four types of variables are declared. These are i**nteger, float, boolean** and **string**. **type()** method is used in python to find out the type of any variable.

#Assigning integer value

var1 = 50

print (type(var1))

#Assinging float value

var2 = 3.89

print (type (var2))

#Assigning

var3 = True

print (type(var3))

#Assigning string value

var4 = "LinuxHint"

print (type(var4))

**Output:**

Run the script by pressing **play ( )** button from the top of the editor. If you click on the **Variable explorer** tab from the right side then the following output will appear for the four variables.

**Example-2: Using numpy to create one and multi-dimensional array**

All types of numerical computing are done by **numpy **package in python. The multi-dimensional data structure, vector, and matrix data can be defined and used by this module. It can calculate very quickly because it is developed by C and FORTRAN. **numpy **module is used in the following script to declare and use one-dimensional and two-dimensional arrays in python. Three types of arrays are declared in the script. **myArray **is a one-dimensional array that contains 5 elements. **ndim** property is used to find out the dimension of an array variable. **len()** function is used here to count the total number of elements of **myArray**. s**hape()** function is used to display the current shape of the array. **myArray2** is a two-dimensional array that contains six elements in two rows and three columns(2×3=6). **size()** function is used to count the total elements of **myArray2**. **arrange()** function is used to create a range array named **myArray3 **that generates elements by adding 2 with each element from 10.

#Using numpy

import numpy as npy

#Declare an one dimensional array

myArray = npy.array([90,45,78,12,66])

#Print all elements

print(myArray)

#Print the dimension of the array

print(myArray.ndim)

#Print the total number of elements

print(len(myArray))

#Print the shape of the array

print(npy.shape(myArray))

#Declare a two dimensional array

myArray2 = npy.array([[101,102,103],["Nila","Ella","Bella"]])

##Print the total number of elements

print(npy.size(myArray2))

#Create a range array

myArray3=npy.arange(10,20,2)

#Print the array elements

print(myArray3)

**Output:**

The following output will appear after running the script.

**Example-3: Using Matlab to draw a curve**

**Matplotlib** library is used to create 2D and 3D scientific figures based on specific data. It can generate high-quality output in different formats such as PNG, SVG, EPG, etc. It is a very useful module for generating figures for research data where the figure can be updated any time by changing data. How you can draw a curve based on the x-axis and y-axis values using this module is shown in this example. **pylab** is used to draw the curve here. **linspace()** function is used to set the x-axis value in regular interval. Y-axis values are calculated by squaring the value of the x-axis. **figure()** is an init function that is used to enable **pylab**. ‘b’ character is used in **plot()** function to set the color of the curve. Here, ‘b’ indicates blue color. **xlabel()** function is used to set the title of x-axis and **ylabel()** function is used to set the title of y-axis. The title of the graph is set by **title()** method.

#Using pylab module

import pylab as pl

#Set the value of x-axis

x = pl.linspace(0, 8, 20)

#Calculate the value of y-axis

y = x ** 2

#Initialization for plotting

pl.figure()

#Set the plot based on x, y value with blue color

pl.plot(x, y, 'b')

#Set the title for x-axis

pl.xlabel('x')

#Set the title for y-axis

pl.ylabel('y')

#Set the title for the graph

pl.title('Plotting Example')

pl.show()

**Output:**

The following output will appear after running the script. The curve is shown in the right bottom side of the image.

**Example-4: Using sympy module for Symbolic variables **

sympy library is used in python for symbolic algebra. Symbol class is used to create a new symbol in python. Here, two symbolic variables are declared. **var1** variable is set to **True** and **is_imaginary **property returns **False** for this variable. **var2** variable is set to true that indicates 1. So, when it is checked that **var2** is greater than 0 or not then it returns True.

#import sympy module

from sympy import *

#Create a symbol variable named 'var1' with a value

var1 = Symbol('var1',real=True)

#Test the value

print(var1.is_imaginary)

#Create a symbol variable named 'var2' with a value

var2 = Symbol('var2', positive=True)

#Check the value is more than 0 or not

print(var2>0)

**Output:**

The following output will appear after running the script.

**Example-5: Create DataFrame using pandas**

pandas library is developed for cleaning, analyzing and transforming any data in python. It uses many features of **numpy** library. So, it is essential to install **numpy **library of python before installing and using **pandas**. It is also used with other scientific libraries of python like **scipy, matplotlib** etc. The core components of **pandas** are **series** and **DataFram**e. Any series indicates the column of data and a DataFrame is a multi-dimensional table of a collection of series. The following script generates a DataFrame based on three series of data. Pandas library is imported at the beginning of the script. Next, a variable named **marks** is declared with three series of data that contain marks of three subjects of three students named ‘**Janifer’, ‘John’ and ‘Paul’**. **DataFrame()** function of pandas is used in the next statement to generate a DataFrame based on the variable **marks** and store it in the variable, **result**. Lastly, the **result** variable is printed to display the DataFrame.

#import the module

import pandas as pd

#Set marks for three subjects for three students

marks = {

'Janifer': [89, 67, 92],

'John': [70, 83, 75],

'Paul': [76, 95, 97]

}

#Create the dataframe using pandas

subjects = pd.DataFrame(marks)

#Display the dataframe

print(subjects)

**Output:**

The following output will appear after running the script.

**Example-6: Using scipy module for mathematical calculation**

**SciPy **library contains a large number of scientific algorithms for performing scientific computing in python. Some of them are Integration, Interpolation, Fourier transform, Linear algebra, Statistics, File IO, etc. Spyder editor is used to write and execute the codes in previous examples. But spyder editor does not support the scipy modules. You can check the list of supported modules of spyder editor by pressing **Dependencies…** option of help menu. Scipy module does not exist in the list. So, the following two examples are shown from the terminal. Open the terminal by pressing “**Alt_Ctrl+T”** and type **python** to run the python interpreter.

#### Calculating the cube root of numbers

scipy library contains a module named **cbrt** to calculate the cube root any number. The following script will calculate the cube root of three numbers. **numpy** library is imported to define the list of the numbers. Next, **scipy** library and **cbrt** module which is under **scipy.special **are imported. The cube root values of 8, 27 and 64 are stored in the variable **result** that is printed later.

>>> import scipy

>>> from scipy.special import cbrt

>>> result = cbrt([ 8, 27, 64])

>>> print(result)

**Output:**

The following output will appear after running the commands. The cube root of 8, 27 and 64 are 2, 3 and 4.

#### Solving Linear algebra by using scipy module

**linalg** module of scipy library is used to solve the linear algebra. Here, **scipy** library is imported in the first command and the next **linalg **module of **scipy** library is imported. **numpy **library is imported to declare the arrays. Here, **eq** variable is declared to define the coefficients and **val** variable is used to define the respective values for calculation. **solve()** function is used to calculate the results based on **eq **and **val** variables.

>>> from scipy import linalg

>>> import numpy as np

>>> eq = np.array([[9, 0, 5], [10, 3, -2], [7, -2, 0]])

>>> val = np.array([3, -6, 9])

>>> result = linalg.solve(eq,val)

>>> print(result)

**Output:**

The following output will appear after running the above commands.

**Conclusion:**

Python is a very useful programming language for solving different types of mathematical and scientific problems. Python contains huge numbers of libraries for doing this type of task. The very basic uses of some libraries are shown in this tutorial. If you want to be a scientific programmer and novice for python(x,y) then this tutorial will help you to install and use python(x,y) on Ubuntu.

A demo can be found here below: