NumPy (pronounced / ˈ n ʌ m p aɪ / NUM -py ) is a library for the Python programming language , adding support for large, multi-dimensional arrays and matrices , along with a large collection of high-level mathematical functions to operate on these arrays. The predecessor of NumPy, Numeric, was originally created by Jim Hugunin with contributions from several other developers. In 2005, Travis Oliphant created NumPy by incorporating features of the competing Numarray into Numeric, with extensive modifications. NumPy is open-source software and has many contributors. NumPy is a NumFOCUS fiscally sponsored project.
71-408: The Python programming language was not originally designed for numerical computing, but attracted the attention of the scientific and engineering community early on. In 1995 the special interest group (SIG) matrix-sig was founded with the aim of defining an array computing package; among its members was Python designer and maintainer Guido van Rossum , who extended Python's syntax (in particular
142-497: A ' drop-in replacement ' of NumPy. Iterative Python algorithm and vectorized NumPy version. Quickly wrap native code for faster scripts. Special interest group A special interest group ( SIG ) is a community within a larger organization with a shared interest in advancing a specific area of knowledge, learning or technology where members cooperate to effect or to produce solutions within their particular field, and may communicate, meet, and organize conferences . The term
213-416: A Feather (BoF). ACM's Special Interest Groups (SIGs) represent major areas of computing, addressing the interests of technical communities that drive innovation. SIGs offer a wealth of conferences, publications and activities focused on specific computing sub-disciplines. They enable members to share expertise, discovery and best practices. The Mathematical Association of America has 14 SIGs ranging from
284-517: A Pan-SIG conference each year. Mensa International has over a hundred SIGs. These interest groups support and lobby for areas of special need. For example, the Sierra Club focuses on protecting the environment as well as the wild places on earth. They also promote education on preservation of the environment. Similar advocacy groups promote their special interests and organize to help them with their issue. These political "entrepreneurs" are
355-750: A camera to a computer and having it "describe what it saw". What distinguished computer vision from the prevalent field of digital image processing at that time was a desire to extract three-dimensional structure from images with the goal of achieving full scene understanding. Studies in the 1970s formed the early foundations for many of the computer vision algorithms that exist today, including extraction of edges from images, labeling of lines, non-polyhedral and polyhedral modeling , representation of objects as interconnections of smaller structures, optical flow , and motion estimation . The next decade saw studies based on more rigorous mathematical analysis and quantitative aspects of computer vision. These include
426-408: A complete 3D surface model. The advent of 3D imaging not requiring motion or scanning, and related processing algorithms is enabling rapid advances in this field. Grid-based 3D sensing can be used to acquire 3D images from multiple angles. Algorithms are now available to stitch multiple 3D images together into point clouds and 3D models. Image restoration comes into the picture when the original image
497-669: A computer vision system also depends on whether its functionality is pre-specified or if some part of it can be learned or modified during operation. Many functions are unique to the application. There are, however, typical functions that are found in many computer vision systems. Image-understanding systems (IUS) include three levels of abstraction as follows: low level includes image primitives such as edges, texture elements, or regions; intermediate level includes boundaries, surfaces and volumes; and high level includes objects, scenes, or events. Many of these requirements are entirely topics for further research. The representational requirements in
568-430: A computer's memory , which might have insufficient capacity for the analysis of large datasets . Further, NumPy operations are executed on a single CPU . However, many linear algebra operations can be accelerated by executing them on clusters of CPUs or of specialized hardware, such as GPUs and TPUs , which many deep learning applications rely on. As a result, several alternative array implementations have arisen in
639-479: A core part of most imaging systems. Sophisticated image sensors even require quantum mechanics to provide a complete understanding of the image formation process. Also, various measurement problems in physics can be addressed using computer vision, for example, motion in fluids. Neurobiology has greatly influenced the development of computer vision algorithms. Over the last century, there has been an extensive study of eyes, neurons, and brain structures devoted to
710-711: A driver or a pilot in various situations. Fully autonomous vehicles typically use computer vision for navigation, e.g., for knowing where they are or mapping their environment ( SLAM ), for detecting obstacles. It can also be used for detecting certain task-specific events, e.g. , a UAV looking for forest fires. Examples of supporting systems are obstacle warning systems in cars, cameras and LiDAR sensors in vehicles, and systems for autonomous landing of aircraft. Several car manufacturers have demonstrated systems for autonomous driving of cars . There are ample examples of military autonomous vehicles ranging from advanced missiles to UAVs for recon missions or missile guidance. Space exploration
781-637: A flower or a person holding a quill in their hand. They also have trouble with images that have been distorted with filters (an increasingly common phenomenon with modern digital cameras). By contrast, those kinds of images rarely trouble humans. Humans, however, tend to have trouble with other issues. For example, they are not good at classifying objects into fine-grained classes, such as the particular breed of dog or species of bird, whereas convolutional neural networks handle this with ease. Several specialized tasks based on recognition exist, such as: Several tasks relate to motion estimation, where an image sequence
SECTION 10
#1732855921644852-460: A particular stage of processing. Inference and control requirements for IUS are: search and hypothesis activation, matching and hypothesis testing, generation and use of expectations, change and focus of attention, certainty and strength of belief, inference and goal satisfaction. There are many kinds of computer vision systems; however, all of them contain these basic elements: a power source, at least one image acquisition device (camera, ccd, etc.),
923-443: A particular task, but methods based on learning are now becoming increasingly common. Examples of applications of computer vision include systems for: One of the most prominent application fields is medical computer vision , or medical image processing, characterized by the extraction of information from image data to diagnose a patient . An example of this is the detection of tumours , arteriosclerosis or other malign changes, and
994-531: A processor, and control and communication cables or some kind of wireless interconnection mechanism. In addition, a practical vision system contains software, as well as a display in order to monitor the system. Vision systems for inner spaces, as most industrial ones, contain an illumination system and may be placed in a controlled environment. Furthermore, a completed system includes many accessories, such as camera supports, cables, and connectors. Most computer vision systems use visible-light cameras passively viewing
1065-571: A production line, to research into artificial intelligence and computers or robots that can comprehend the world around them. The computer vision and machine vision fields have significant overlap. Computer vision covers the core technology of automated image analysis which is used in many fields. Machine vision usually refers to a process of combining automated image analysis with other methods and technologies to provide automated inspection and robot guidance in industrial applications. In many computer-vision applications, computers are pre-programmed to solve
1136-580: A rich set of information about a combat scene that can be used to support strategic decisions. In this case, automatic processing of the data is used to reduce complexity and to fuse information from multiple sensors to increase reliability. One of the newer application areas is autonomous vehicles, which include submersibles , land-based vehicles (small robots with wheels, cars, or trucks), aerial vehicles, and unmanned aerial vehicles ( UAV ). The level of autonomy ranges from fully autonomous (unmanned) vehicles to vehicles where computer-vision-based systems support
1207-485: A scene at frame rates of at most 60 frames per second (usually far slower). A few computer vision systems use image-acquisition hardware with active illumination or something other than visible light or both, such as structured-light 3D scanners , thermographic cameras , hyperspectral imagers , radar imaging , lidar scanners, magnetic resonance images , side-scan sonar , synthetic aperture sonar , etc. Such hardware captures "images" that are then processed often using
1278-533: A significant part of the field is devoted to the implementation aspect of computer vision; how existing methods can be realized in various combinations of software and hardware, or how these methods can be modified in order to gain processing speed without losing too much performance. Computer vision is also used in fashion eCommerce, inventory management, patent search, furniture, and the beauty industry. The fields most closely related to computer vision are image processing , image analysis and machine vision . There
1349-604: A single array must be of the same type. Such arrays can also be views into memory buffers allocated by C / C++ , Python , and Fortran extensions to the CPython interpreter without the need to copy data around, giving a degree of compatibility with existing numerical libraries. This functionality is exploited by the SciPy package, which wraps a number of such libraries (notably BLAS and LAPACK). NumPy has built-in support for memory-mapped ndarrays. Inserting or appending entries to an array
1420-430: A small sheet of rubber containing an array of rubber pins. A user can then wear the finger mold and trace a surface. A computer can then read the data from the strain gauges and measure if one or more of the pins are being pushed upward. If a pin is being pushed upward then the computer can recognize this as an imperfection in the surface. This sort of technology is useful in order to receive accurate data on imperfections on
1491-413: A variety of dental pathologies; measurements of organ dimensions, blood flow, etc. are another example. It also supports medical research by providing new information: e.g. , about the structure of the brain or the quality of medical treatments. Applications of computer vision in the medical area also include enhancement of images interpreted by humans—ultrasonic images or X-ray images, for example—to reduce
SECTION 20
#17328559216441562-436: A very large surface. Another variation of this finger mold sensor are sensors that contain a camera suspended in silicon. The silicon forms a dome around the outside of the camera and embedded in the silicon are point markers that are equally spaced. These cameras can then be placed on devices such as robotic hands in order to allow the computer to receive highly accurate tactile data. Other application areas include: Each of
1633-846: Is a plotting package that provides MATLAB-like plotting functionality. Although matlab can perform sparse matrix operations, numpy alone cannot perform such operations and requires the use of the scipy.sparse library. Internally, both MATLAB and NumPy rely on BLAS and LAPACK for efficient linear algebra computations. Python bindings of the widely used computer vision library OpenCV utilize NumPy arrays to store and operate on data. Since images with multiple channels are simply represented as three-dimensional arrays, indexing, slicing or masking with other arrays are very efficient ways to access specific pixels of an image. The NumPy array as universal data structure in OpenCV for images, extracted feature points , filter kernels and many more vastly simplifies
1704-526: Is a significant overlap in the range of techniques and applications that these cover. This implies that the basic techniques that are used and developed in these fields are similar, something which can be interpreted as there is only one field with different names. On the other hand, it appears to be necessary for research groups, scientific journals, conferences, and companies to present or market themselves as belonging specifically to one of these fields and, hence, various characterizations which distinguish each of
1775-488: Is already being made with autonomous vehicles using computer vision, e.g. , NASA 's Curiosity and CNSA 's Yutu-2 rover. Materials such as rubber and silicon are being used to create sensors that allow for applications such as detecting microundulations and calibrating robotic hands. Rubber can be used in order to create a mold that can be placed over a finger, inside of this mold would be multiple strain gauges. The finger mold and sensors could then be placed on top of
1846-437: Is also a trend towards a combination of the two disciplines, e.g. , as explored in augmented reality . The following characterizations appear relevant but should not be taken as universally accepted: Photogrammetry also overlaps with computer vision, e.g., stereophotogrammetry vs. computer stereo vision . Applications range from tasks such as industrial machine vision systems which, say, inspect bottles speeding by on
1917-424: Is another field that is closely related to computer vision. Most computer vision systems rely on image sensors , which detect electromagnetic radiation , which is typically in the form of either visible , infrared or ultraviolet light . The sensors are designed using quantum physics . The process by which light interacts with surfaces is explained using physics. Physics explains the behavior of optics which are
1988-440: Is being measured and inspected for inaccuracies or defects to prevent a computer chip from coming to market in an unusable manner. Another example is a measurement of the position and orientation of details to be picked up by a robot arm. Machine vision is also heavily used in the agricultural processes to remove undesirable foodstuff from bulk material, a process called optical sorting . Military applications are probably one of
2059-445: Is concerned with the theory behind artificial systems that extract information from images. The image data can take many forms, such as video sequences, views from multiple cameras, or multi-dimensional data from a medical scanner . As a technological discipline, computer vision seeks to apply its theories and models for the construction of computer vision systems. Machine vision refers to a systems engineering discipline, especially in
2130-502: Is degraded or damaged due to some external factors like lens wrong positioning, transmission interference, low lighting or motion blurs, etc., which is referred to as noise. When the images are degraded or damaged, the information to be extracted from them also gets damaged. Therefore, we need to recover or restore the image as it was intended to be. The aim of image restoration is the removal of noise (sensor noise, motion blur, etc.) from images. The simplest possible approach for noise removal
2201-551: Is given by the ImageNet Large Scale Visual Recognition Challenge ; this is a benchmark in object classification and detection, with millions of images and 1000 object classes used in the competition. Performance of convolutional neural networks on the ImageNet tests is now close to that of humans. The best algorithms still struggle with objects that are small or thin, such as a small ant on the stem of
NumPy - Misplaced Pages Continue
2272-405: Is not as trivially possible as it is with Python's lists. The np.pad(...) routine to extend arrays actually creates new arrays of the desired shape and padding values, copies the given array into the new one and returns it. NumPy's np.concatenate([a1,a2]) operation does not actually link the two arrays but returns a new one, filled with the entries from both given arrays in sequence. Reshaping
2343-404: Is processed to produce an estimate of the velocity either at each points in the image or in the 3D scene or even of the camera that produces the images. Examples of such tasks are: Given one or (typically) more images of a scene, or a video, scene reconstruction aims at computing a 3D model of the scene. In the simplest case, the model can be a set of 3D points. More sophisticated methods produce
2414-482: Is required to navigate through them. Information about the environment could be provided by a computer vision system, acting as a vision sensor and providing high-level information about the environment and the robot Besides the above-mentioned views on computer vision, many of the related research topics can also be studied from a purely mathematical point of view. For example, many methods in computer vision are based on statistics , optimization or geometry . Finally,
2485-509: Is usually obtained compared to the simpler approaches. An example in this field is inpainting . The organization of a computer vision system is highly application-dependent. Some systems are stand-alone applications that solve a specific measurement or detection problem, while others constitute a sub-system of a larger design which, for example, also contains sub-systems for control of mechanical actuators, planning, information databases, man-machine interfaces, etc. The specific implementation of
2556-401: Is various types of filters, such as low-pass filters or median filters. More sophisticated methods assume a model of how the local image structures look to distinguish them from noise. By first analyzing the image data in terms of the local image structures, such as lines or edges, and then controlling the filtering based on local information from the analysis step, a better level of noise removal
2627-507: The Corporation for National Research Initiatives (CNRI) in 1997 to work on JPython , leaving Paul Dubois of Lawrence Livermore National Laboratory (LLNL) to take over as maintainer. Other early contributors include David Ascher, Konrad Hinsen and Travis Oliphant . A new package called Numarray was written as a more flexible replacement for Numeric. Like Numeric, it too is now deprecated. Numarray had faster operations for large arrays, but
2698-647: The Arts to the Web (for instruction). The Association for Information Science and Technology calls its organizational divisions special interest groups. Organizations that are not technical may also have Special Interest Groups, which are normally focused on a mutual interest or shared characteristic of a subset of members of the organization. An important example for this are trade unions . For identity-based advocacy groups, see identity politics . The Japan Association for Language Teaching has several SIGs. Together they organize
2769-846: The NumPy API for PyPy. As of 2023, it is not yet fully compatible with NumPy. NumPy targets the CPython reference implementation of Python, which is a non-optimizing bytecode interpreter . Mathematical algorithms written for this version of Python often run much slower than compiled equivalents due to the absence of compiler optimization. NumPy addresses the slowness problem partly by providing multidimensional arrays and functions and operators that operate efficiently on arrays; using these requires rewriting some code, mostly inner loops , using NumPy. Using NumPy in Python gives functionality comparable to MATLAB since they are both interpreted, and they both allow
2840-485: The advent of optimization methods for camera calibration, it was realized that a lot of the ideas were already explored in bundle adjustment theory from the field of photogrammetry . This led to methods for sparse 3-D reconstructions of scenes from multiple images . Progress was made on the dense stereo correspondence problem and further multi-view stereo techniques. At the same time, variations of graph cut were used to solve image segmentation . This decade also marked
2911-461: The aid of geometry, physics, statistics, and learning theory. The classical problem in computer vision, image processing, and machine vision is that of determining whether or not the image data contains some specific object, feature, or activity. Different varieties of recognition problem are described in the literature. Currently, the best algorithms for such tasks are based on convolutional neural networks . An illustration of their capabilities
NumPy - Misplaced Pages Continue
2982-487: The aid of geometry, physics, statistics, and learning theory. The scientific discipline of computer vision is concerned with the theory behind artificial systems that extract information from images. Image data can take many forms, such as video sequences, views from multiple cameras, multi-dimensional data from a 3D scanner, 3D point clouds from LiDaR sensors, or medical scanning devices. The technological discipline of computer vision seeks to apply its theories and models to
3053-482: The algorithms implemented in software and hardware behind artificial vision systems. An interdisciplinary exchange between biological and computer vision has proven fruitful for both fields. Yet another field related to computer vision is signal processing . Many methods for processing one-variable signals, typically temporal signals, can be extended in a natural way to the processing of two-variable signals or multi-variable signals in computer vision. However, because of
3124-429: The application areas described above employ a range of computer vision tasks; more or less well-defined measurement problems or processing problems, which can be solved using a variety of methods. Some examples of typical computer vision tasks are presented below. Computer vision tasks include methods for acquiring , processing , analyzing and understanding digital images, and extraction of high-dimensional data from
3195-519: The classic view of the policy maker. Such groups need a patron to provide capital and support, so the cause has to be one that many will support, in competition with other causes that similarly seek support. Many of these dominant groups have subgroups that lobby for more specific issues, but assist in the overall cause. Computer vision Computer vision tasks include methods for acquiring , processing , analyzing , and understanding digital images , and extraction of high-dimensional data from
3266-416: The community around a single array package and ported Numarray's features to Numeric, releasing the result as NumPy 1.0 in 2006. This new project was part of SciPy . To avoid installing the large SciPy package just to get an array object, this new package was separated and called NumPy. Support for Python 3 was added in 2011 with NumPy version 1.5.0. In 2011, PyPy started development on an implementation of
3337-506: The concept of scale-space , the inference of shape from various cues such as shading , texture and focus, and contour models known as snakes . Researchers also realized that many of these mathematical concepts could be treated within the same optimization framework as regularization and Markov random fields . By the 1990s, some of the previous research topics became more active than others. Research in projective 3-D reconstructions led to better understanding of camera calibration . With
3408-506: The construction of computer vision systems. Subdisciplines of computer vision include scene reconstruction , object detection , event detection , activity recognition , video tracking , object recognition , 3D pose estimation , learning, indexing, motion estimation , visual servoing , 3D scene modeling, and image restoration . Computer vision is an interdisciplinary field that deals with how computers can be made to gain high-level understanding from digital images or videos . From
3479-469: The context of factory automation. In more recent times, the terms computer vision and machine vision have converged to a greater degree. In the late 1960s, computer vision began at universities that were pioneering artificial intelligence . It was meant to mimic the human visual system as a stepping stone to endowing robots with intelligent behavior. In 1966, it was believed that this could be achieved through an undergraduate summer project, by attaching
3550-447: The designing of IUS for these levels are: representation of prototypical concepts, concept organization, spatial knowledge, temporal knowledge, scaling, and description by comparison and differentiation. While inference refers to the process of deriving new, not explicitly represented facts from currently known facts, control refers to the process that selects which of the many inference, search, and matching techniques should be applied at
3621-548: The dimensionality of an array with np.reshape(...) is only possible as long as the number of elements in the array does not change. These circumstances originate from the fact that NumPy's arrays must be views on contiguous memory buffers . Algorithms that are not expressible as a vectorized operation will typically run slowly because they must be implemented in "pure Python", while vectorization may increase memory complexity of some operations from constant to linear, because temporary arrays must be created that are as large as
SECTION 50
#17328559216443692-476: The fields from the others have been presented. In image processing, the input is an image and the output is an image as well, whereas in computer vision, an image or a video is taken as an input and the output could be an enhanced image, an understanding of the content of an image or even behavior of a computer system based on such understanding. Computer graphics produces image data from 3D models, and computer vision often produces 3D models from image data. There
3763-435: The first time statistical learning techniques were used in practice to recognize faces in images (see Eigenface ). Toward the end of the 1990s, a significant change came about with the increased interaction between the fields of computer graphics and computer vision. This included image-based rendering , image morphing , view interpolation, panoramic image stitching and early light-field rendering . Recent work has seen
3834-553: The indexing syntax) to make array computing easier. An implementation of a matrix package was completed by Jim Fulton, then generalized by Jim Hugunin and called Numeric (also variously known as the "Numerical Python extensions" or "NumPy"), with influences from the APL family of languages, Basis, MATLAB , FORTRAN , S and S+ , and others. Hugunin, a graduate student at the Massachusetts Institute of Technology (MIT), joined
3905-479: The influence of noise. A second application area in computer vision is in industry, sometimes called machine vision , where information is extracted for the purpose of supporting a production process. One example is quality control where details or final products are being automatically inspected in order to find defects. One of the most prevalent fields for such inspection is the Wafer industry in which every single Wafer
3976-486: The inputs. Runtime compilation of numerical code has been implemented by several groups to avoid these problems; open source solutions that interoperate with NumPy include numexpr and Numba . Cython and Pythran are static-compiling alternatives to these. Many modern large-scale scientific computing applications have requirements that exceed the capabilities of the NumPy arrays. For example, NumPy arrays are usually loaded into
4047-454: The largest areas of computer vision . The obvious examples are the detection of enemy soldiers or vehicles and missile guidance . More advanced systems for missile guidance send the missile to an area rather than a specific target, and target selection is made when the missile reaches the area based on locally acquired image data. Modern military concepts, such as "battlefield awareness", imply that various sensors, including image sensors, provide
4118-470: The learning-based methods developed within computer vision ( e.g. neural net and deep learning based image and feature analysis and classification) have their background in neurobiology. The Neocognitron , a neural network developed in the 1970s by Kunihiko Fukushima , is an early example of computer vision taking direct inspiration from neurobiology, specifically the primary visual cortex . Some strands of computer vision research are closely related to
4189-416: The perspective of engineering , it seeks to automate tasks that the human visual system can do. "Computer vision is concerned with the automatic extraction, analysis, and understanding of useful information from a single image or a sequence of images. It involves the development of a theoretical and algorithmic basis to achieve automatic visual understanding." As a scientific discipline , computer vision
4260-413: The processing of visual stimuli in both humans and various animals. This has led to a coarse yet convoluted description of how natural vision systems operate in order to solve certain vision-related tasks. These results have led to a sub-field within computer vision where artificial systems are designed to mimic the processing and behavior of biological systems at different levels of complexity. Also, some of
4331-538: The programming workflow and debugging . Importantly, many NumPy operations release the global interpreter lock , which allows for multithreaded processing. NumPy also provides a C API, which allows Python code to interoperate with external libraries written in low-level languages. The core functionality of NumPy is its "ndarray", for n -dimensional array, data structure . These arrays are strided views on memory. In contrast to Python's built-in list data structure, these arrays are homogeneously typed: all elements of
SECTION 60
#17328559216444402-444: The real world in order to produce numerical or symbolic information, e.g. , in the forms of decisions. Understanding in this context means the transformation of visual images (the input of the retina) into descriptions of the world that can interface with other thought processes and elicit appropriate action. This image understanding can be seen as the disentangling of symbolic information from image data using models constructed with
4473-441: The real world in order to produce numerical or symbolic information, e.g. in the form of decisions. "Understanding" in this context signifies the transformation of visual images (the input to the retina ) into descriptions of the world that make sense to thought processes and can elicit appropriate action. This image understanding can be seen as the disentangling of symbolic information from image data using models constructed with
4544-449: The resurgence of feature -based methods used in conjunction with machine learning techniques and complex optimization frameworks. The advancement of Deep Learning techniques has brought further life to the field of computer vision. The accuracy of deep learning algorithms on several benchmark computer vision data sets for tasks ranging from classification, segmentation and optical flow has surpassed prior methods. Solid-state physics
4615-508: The same computer vision algorithms used to process visible-light images. While traditional broadcast and consumer video systems operate at a rate of 30 frames per second, advances in digital signal processing and consumer graphics hardware has made high-speed image acquisition, processing, and display possible for real-time systems on the order of hundreds to thousands of frames per second. For applications in robotics, fast, real-time video systems are critically important and often can simplify
4686-452: The scientific python ecosystem over the recent years, such as Dask for distributed arrays and TensorFlow or JAX for computations on GPUs. Because of its popularity, these often implement a subset of NumPy's API or mimic it, so that users can change their array implementation with minimal changes to their code required. A library named CuPy , accelerated by Nvidia 's CUDA framework, has also shown potential for faster computing, being
4757-474: The specific nature of images, there are many methods developed within computer vision that have no counterpart in the processing of one-variable signals. Together with the multi-dimensionality of the signal, this defines a subfield in signal processing as a part of computer vision. Robot navigation sometimes deals with autonomous path planning or deliberation for robotic systems to navigate through an environment . A detailed understanding of these environments
4828-411: The study of biological vision —indeed, just as many strands of AI research are closely tied with research into human intelligence and the use of stored knowledge to interpret, integrate, and utilize visual information. The field of biological vision studies and models the physiological processes behind visual perception in humans and other animals. Computer vision, on the other hand, develops and describes
4899-435: The user to write fast programs as long as most operations work on arrays or matrices instead of scalars . In comparison, MATLAB boasts a large number of additional toolboxes, notably Simulink , whereas NumPy is intrinsically integrated with Python, a more modern and complete programming language . Moreover, complementary Python packages are available; SciPy is a library that adds more MATLAB-like functionality and Matplotlib
4970-477: Was slower than Numeric on small ones, so for a time both packages were used in parallel for different use cases. The last version of Numeric (v24.2) was released on 11 November 2005, while the last version of numarray (v1.5.2) was released on 24 August 2006. There was a desire to get Numeric into the Python standard library, but Guido van Rossum decided that the code was not maintainable in its state then. In early 2005, NumPy developer Travis Oliphant wanted to unify
5041-628: Was used in 1961 by the Association for Computing Machinery (ACM), an academic and professional computer society. SIG was later popularized on CompuServe , an early online service provider , where SIGs were a section of the service devoted to particular interests. The ACM includes many SIGs , some starting as smaller "Special Interest Committees" and formed the first group in 1961. ACM supports further subdivision within SIGs for more impromptu informal discussion groups at conferences which are called Birds of
#643356