# numpy.square() in Python: Calculating Squares in NumPy

NumPy is one of the most commonly used Python libraries when it comes to performing mathematical operations on arrays. This library provides various functions that can make performing these operations on arrays or matrices easier and more efficient. In this article, we’ll understand the numpy.square() function provided by NumPy which helps in calculating squares in Python. We will also look at some examples to understand the implementation of this function.

## Introducing numpy.square() Function

numpy.square() is a mathematical function provided by the NumPy library which takes in an array of integers or decimal values and returns an array containing the squares of each of the elements in the input array. Let’s look at the syntax of this function and understand its parameters.

Syntax:

```numpy.square(arr, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None)
```
• arr: Input array containing the elements to be squared.
• out: Name of the output array. If set to None or not given a value, a new array will be created to store the resultant array containing squares.
• where: A boolean array used to specify which elements from the input array should be squared. This parameter has a default of True, meaning all elements from the input array must be squared.
• casting: Used to specify whether data type casting is allowed in the resultant array. Here, same_kind indicates that casting can be done between the same kind of data types (eg: casting can be done between float and integers as they are both numeric data types).
• order: Used to specify the memory layout of the output array. Here, K indicates that the original order of the input array should be preserved when laying out the memory for the output array.
• dtype: Used to specify the data type of the output array. Here, None indicates that the data type of the output array must be inferred according to that of the input array.

Now let’s understand the implementation of this function with some examples.

## Calculating Squares of Each Element in NumPy Array

In this section, we’ll understand how to use numpy.square() by looking at some examples and also see how the output array varies when certain parameters are changed while using this function. We will also explore how the application of numpy.square() can be extended to 2D arrays (matrices) as well.

### Calculating Squares of All Elements in an Array

Let’s see a basic example, with no additional parameters specified other than the input array. We take a simple array arr containing some integers. We then use numpy.square() on arr to calculate the squares of each of the elements in the array. The output array is stored in squared_arr.

```import numpy as np

arr = [1, -3, 5, -7, 9]
squared_arr = np.square(arr)
print(squared_arr)
```

Output:

### Using dtype to Change the Data Type of Output Array

In this example, we’ll specify the data type of the resultant array using the dtype parameter, while squaring the input array arr from the previous example.

```import numpy as np

arr = [1, -3, 5, -7, 9]
squared_arr = np.square(arr, dtype=float)
print(squared_arr)
```

Even if the input array contains integers, the output array containing squares will have float values.

Output:

### Using the where Parameter to Square Specific Elements

In this example, we’ll see how we can use the where parameter which will help us conditionally square only certain elements in an array. Here, we’ll square only the positive numbers (1,5 and 9).

```import numpy as np

arr = np.array([1, -3, 5, -7, 9])
squared_arr = np.square(arr, where=arr > 0)
print(squared_arr)
```

Output:

### Squaring Elements in a Matrix

In this example, we’ll look at how we can use numpy.square() to square elements in a matrix. This works similarly to how it does in arrays. Here we’ll take a 3×3 matrix and square all its elements.

```import numpy as np

matrix = [[1, -3, 5],
[-7, 9, -11]]
squared_matrix = np.square(matrix)
print(squared_matrix)
```

Output:

## Conclusion

NumPy provides us with various handy functions to perform mathematical computations on arrays. In this article, we have explored the numpy.square() function which provides us with an easy way to square multiple elements in an array. We have understood the working of numpy.square() with some supporting examples and also looked at how we can change the output array according to our preference using various parameters like dtype and where. Whether we need to square elements of an array or matrix, using numpy.square() is the simplest way to go.

### Reference

https://stackoverflow.com/questions/34598632/python-numpy-square-values-issue