Tue, Jan 11, 2022

2 PM – 5 PM EST (GMT-5)

Add to Calendar

Online Event

27
Registered

Registration

Details

This session covers the basics of NumPy, the package that underlies most scientific computing done in Python. It will explain the NumPy array, the principal data type in the NumPy package, and how it differs from similar Python structures like lists. There will be particular emphasis on understanding the two core features of NumPy arrays –" vectorization and broadcasting –" and how they can be leveraged to write concise and powerful scientific code in Python. There will be hands-on exercises, including with multidimensional arrays. This session is ideal for those who already use Python and are either new to NumPy or have used NumPy before but would like to develop more comfort with its syntax, underlying data model, and performance features.

Learning objectives:

Participants will learn the basic syntax of NumPy arrays, as well as important dos and don’ts for how to use them effectively in their own applications. Participants will also gain awareness of useful NumPy subpackages and leave with enough know-how to incorporate those packages into their own codes.

Knowledge prerequisites:

Participants should have reasonable facility with the Python programming language, and in particular how Python lists work (how to access list elements, slicing notation, the underlying data storage model, etc). This session is not appropriate for those with no prior Python experience. However, no previous experience with NumPy is required.

Hardware/software prerequisites:

Participants should install the Anaconda Python 3 distribution –" which includes Jupyter notebooks and NumPy –" on their laptops in advance. Instructions can be found on the PICSciE workshops requirements page (https://researchcomputing.princeton.edu/learn/workshops-live-training/requirements-picscie-virtual-workshops#jupyter).

Alternately, participants without Python 3 installed on their laptops who prefer to run Jupyter Notebooks remotely on one of Princeton’s systems can do so the “myadroit” web interface to the Adroit cluster. To access myadroit, you should first register for an account on Adroit (https://researchcomputing.princeton.edu/systems/adroit), as described in the advance setup guide for PICSciE workshops (https://researchcomputing.princeton.edu/learn/workshops-live-training/hardware-and-software-requirements-picscie-workshops). Then, connect to “myadroit” and start a Jupyter session, as described at https://github.com/PrincetonUniversity/hpc_beginning_workshop/tree/master/03_web_interface.

Bio: Vineet Bansal is a Research Software Engineer who works in Research Computing and the Center for Statistics and Machine Learning (CSML). Vineet earned his MS in Computer Science from Michigan State University. His role at CSML is to productionize and optimize code for several research projects. Vineet has dabbled in many programming languages throughout his career, but is mostly focused on Python these days.

Hosted By

Wintersession | View More Events
Co-hosted with: PICSciE/Research Computing

Contact the organizers