ADVERTISEMENT
ADVERTISEMENT

History of NumPy

Numpy, short for "Numerical Python", was first created in 1995 by Jim Hugunin while he was a graduate student at MIT. Hugunin was working on a programming language called JPython, which was a Python implementation that allowed for the integration of Java libraries. He needed a way to efficiently perform mathematical operations on arrays for a project he was working on, so he created the precursor to Numpy, called Numeric.

Jim Hugunin

Numeric was released as an open-source project in 1998 and gained popularity among the scientific computing community due to its efficiency in handling arrays and performing mathematical operations on them. In 2005, Travis Oliphant, a graduate student at the University of Chicago, created a fork of Numeric called Numarray, which included additional features such as support for missing values and more advanced indexing capabilities.

Travis Oliphant

In 2006, Oliphant combined Numarray with Numeric and created a new library called Numpy, which included the best features of both libraries. Numpy quickly gained popularity and became the standard library for numerical computing in Python. Its popularity was further bolstered by the growth of the data science and machine learning communities, which heavily rely on Numpy for data manipulation and mathematical operations.

Numpy continues to be actively developed and maintained by a large community of contributors. In recent years, Numpy has undergone significant improvements, including the addition of new data types, improved broadcasting capabilities, and support for multi-dimensional indexing.

Today, Numpy is a foundational library for scientific computing and data analysis in Python, and is widely used in a variety of fields, including physics, engineering, finance, and more. It has also served as the foundation for the development of many other popular Python libraries, such as Scipy, Matplotlib, and Pandas.

List of NumPy Versions 

  • NumPy 1.0 (2006): The first stable release of NumPy, which introduced the ndarray object for efficient manipulation of arrays in Python. It also included a large number of mathematical functions and linear algebra routines.
  • NumPy 1.4 (2009): Introduced broadcasting, which allows for efficient execution of operations on arrays of different shapes and sizes. It also included new data types and improved support for complex numbers.
  • NumPy 1.5 (2010): Added support for structured arrays, which allow for efficient storage and manipulation of structured data, as well as improved support for masked arrays.
  • NumPy 1.6 (2011): Introduced a new datetime module for working with dates and times in NumPy arrays, as well as improved support for multi-core processing using parallel algorithms.
  • NumPy 1.7 (2012): Introduced support for memory-mapped arrays, which allow for efficient loading and manipulation of large datasets that cannot fit into memory.
  • NumPy 1.8 (2013): Added support for polynomial operations on arrays, as well as improved support for complex numbers and Fourier transforms.
  • NumPy 1.9 (2014): Introduced new functions for linear algebra, including improved support for singular value decomposition (SVD) and matrix exponentials. It also included improvements to memory usage and performance.
  • NumPy 1.10 (2015): Added support for boolean indexing and new functions for histogram computation and statistical analysis.
  • NumPy 1.11 (2016): Introduced a new random number generator that uses the PCG algorithm for improved performance and statistical properties. It also included improvements to array slicing and indexing.
  • NumPy 1.12 (2017): Added support for in-place sorting of arrays, as well as new functions for working with arrays of strings.
  • NumPy 1.13 (2017): Introduced a new datetime64 type for more efficient storage and manipulation of dates and times in NumPy arrays.
  • NumPy 1.14 (2018): Added support for subarrays with zero stride, as well as improvements to the handling of complex numbers and datetime64 data.
  • NumPy 1.15 (2018): Added support for nested dtypes and improved support for boolean indexing and broadcasting. It also included improvements to the handling of datetime64 data and structured arrays.
  • NumPy 1.16 (2019): Introduced support for multi-indexing and new functions for interpolation, as well as improved performance for array creation and broadcasting.
  • NumPy 1.17 (2019): Added support for ufuncs that return multiple arrays, as well as improvements to the handling of masked arrays and datetime64 data.
  • NumPy 1.18 (2020): Introduced a new polynomial class for representing and manipulating polynomials, as well as improvements to the handling of datetime64 data and structured arrays.
  • NumPy 1.19 (2020): Added new functions for working with strings and improvements to the handling of structured arrays and memory usage.
  • NumPy 1.20 (2021): Introduced a new numpy.random.Generator class for generating random numbers, as well as improvements to the handling of datetime64 data and structured arrays. It also included new functions for working with trigonometric and hyperbolic functions.

For More information about the Release of  NumPy versions Click Here

 

 

 

 

 


ADVERTISEMENT

ADVERTISEMENT