This is the last post in the series on quantum computing. You can check the previous ones here: In the previous post, we discussed the applications of quantum algorithms that are in development and we touched upon the idea of testing these algorithm ideas. In the final post of this series, we will discuss about the ways that quantum programs can be analyzed before running in actual quantum computers. Status Quo of Quantum Computing Real-world Quantum Computers have been undergoing a huge boom during the last few years with hundreds of businesses and tens of countries investing in this technology. Due to the expensive R&D cost for Quantum Computing, the main business model for Quantum Computing has been through the …

## Applications of Quantum Algorithms

This is the fourth post in a series on quantum computing, which began with the following: In the previous post, we explained the inner workings of a quantum computer and introduced quantum algorithms to take advantage of the properties of quantum mechanics and execute specific computations. However, we glossed over how these algorithms can provide a quantum speedup. To understand this, we must first understand the type of problems that are well-suited for quantum computers. Error Bounded Algorithms As discussed before, Classical Computers store definite states; therefore, the computations result in deterministic outcomes: a problem may be solved by a direct series of steps (an algorithm) that, given a specific input, will produce a specific outcome. However, while Quantum Computers …

## Talk to Emacs with a GPT4 Co-Worker

With the successful construction of a GPT4 co-worker, we can now talk to emacs. (And also understand how disturbingly simple it is to build one – read on!) WARNING The AI can make mistakes and you might say something horrible on accident like “Man, I hate my harddrive!” I hope you understand the ramifications 😀 With a voice interface, ask the AI to do work or answer questions for you in the context of the current buffer (file/directory). The AI will do the job asynchronously out of the way, leaving you to move on to the next task while the AI plugs away and speaks to you about its completed task. Demo: The code is posted at https://github.com/pv-pterab-s/emacs-pinky-saver. It requires some …

## How does a Quantum Computer work?

This is the third post in a series on quantum computing, which began with the following: By design, a quantum computer is a device that executes quantum computations. These quantum computations utilize quantum mechanical principles to encode and operate on inputs and outputs. There are two main types of quantum computers based on the data unit: discrete-based and continuous-based. Discrete-based quantum computers use a discrete unit of data with quantum properties; most use qubits on which operations are performed. In contrast, continuous-based quantum computers utilize observable quantities with continuous intervals to define the system’s state. We will focus on discrete/digital quantum systems as this is the most common model for which many algorithms have already been developed. Like classical computers, …

## Quantum States vs Classical States

In the last post of this series, we discussed how supercharging quantum computing with Quantum Mechanics’ principles allows high computational power. To come to terms with this, we must first delve into the math behind quantum memory. A computer needs memory. It stores input and output data as a transitional place to operate on data. We care about this functionality because data encodes states. In the classical sense, a state refers to the particular arrangement that something is in at a specific moment. Examples of a classical state are the position of a door: either open or closed; the color of a marker: red, blue, yellow, etc.; the value of a bit: 0 or 1 / false or true; and …

## What is a Quantum Computer?

Quantum computing has been a growing area of computer science over the last few years. Thanks to leaps in material engineering, physics, and noise reduction algorithms, the possibility of constructing a fully-fledged quantum computer in the future grows nearer. Like the computers we use daily, a quantum computer is a machine that can perform computations with given data. However, unlike classical computers, they are characterized by using Quantum Mechanical Principles in the data storage and logic of those computations. Among some of these novel Quantum Mechanical properties, these are the keys ones: Even if Quantum Computers have many advantages, including possibly being faster, are classical computers insufficient? As innovation in new technologies grows in fields such as finance, medicine, and …

## ArrayFire Quantum Simulator

ArrayFire is pleased to announce the release of the first version of the open-source quantum simulator programming library, the ArrayFire Quantum Simulator, AQS for short. AQS is a C++14 library that provides the functionality to create, manipulate, visualize, and simulate quantum circuits with quick and accurate results. The library is built upon ArrayFire to provide hardware-neutral, fast CPU and GPU computations with a familiar interface. Features Its feature set includes: Fast Statevector calculations of 1000+ gates up to 30 qubits Implementing essential gates (Pauli, Superposition, Rotation, Multiple Control gates, etc.) Support for extending and creating gates Implementation of standard algorithms (QFT, Grover, VQE) Granular control over calculation stages Custom text displayer of created circuits and circuit schematics Integration with ArrayFire, …

## Topology Optimization with Accessibility Constraint for Multi-Axis Machining

Researchers from the Palo Alto Research Center (PARC) credit ArrayFire in a paper published in the Journal of Computer-Aided Design. The paper is titled “Topology Optimization with Accessibility Constraint for Multi-Axis Machining” and showcases ArrayFire accelerating the workload. Summary In this post, a topology optimization (TO) framework is presented to enable the automated design of mechanical components while ensuring the result can be manufactured using multi-axis machining. Although TO improves the part’s performance, the as-designed model is often geometrically too complex to be machined, and the as-manufactured model can significantly vary due to machining constraints that are not accounted for during TO. In other words, many of the optimized design features cannot be accessed by a machine tool without colliding with the …

## Synthetic Aperture Radar on the Jetson TX1

Researchers at Peter the Great St. Petersburg Polytechnic University have implemented a synthetic aperture radar processing on the Jetson TX1 Platform using ArrayFire as described in this paper. The paper introduces SAR as “a remote sensing technique producing high-resolution radar images of the Earth’s surface. SAR technology allows obtaining wide swath radar images of objects at a considerable distance regardless of the weather and lighting conditions. It can be used by unmanned aerial vehicles and space satellites. Thus, SAR technology allows solving various problems, such as: detecting small objects (vehicles, airplanes, ships), assessing the state of railways, airfields, seaports, mapping an area, assisting in geological exploration, mapping vegetation, detecting oil spills and pollution as well as many other tasks.” The …

## Finger Vein Identity Recognition in “Negligible Time” using ArrayFire

In this blog post, we summarize work by researchers in Slovakia using ArrayFire to develop OpenFinger, a finger vein identity recognition library. Finger prints and finger veins can be used as a biometric for identity recognition. The physical setup of their sensor system is the following collection of CMOS sensors scattering light to a near infrared LED that projects the image to a CCD camera for capture to a computer. The computing infrastructure used in this work consists of the following components. Several great open source libraries are used, including OpenCV, Caffe, Qt, and ArrayFire. ArrayFire is specifically used in pre-processing to accelerate Gabor filtering on the GPU. Gabor filter has proven itself as one of the most suitable techniques …