Skip to content
This repository was archived by the owner on Feb 6, 2025. It is now read-only.

diantonioandrea/NAQRA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

124 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAQRA

Neon Accelerated QR Algorithm

Introduction

An implementation of the QR Algorithm with Double Wilkinson's Shift utilizing Neon intrinsics, written in C23.

Table of Contents

Setup

Cloning the Repository

Clone the repository from here:

git clone git@github.com:diantonioandrea/NAQRA.git

Compiling the Tests

Compile the tests located under src/:

make

The executables are then located under executables/.

Tests require the size of the test matrix, along with the range of random values used to initialize it, specified as two real numbers. An optional argument can be provided to enable the output.

Usage

Every method developed in NAQRA follows a structured naming convention with three parts, separated by underscores:

  1. Function: Describes the primary operation or behavior of the method.
  2. Input(s): Specifies the type or nature of the inputs.
  3. Output: Indicates the type or nature of the resulting output.

All methods are documented directly within the code for clarity and ease of use.

Interface1

Moreover, the repository provides an interface that includes the Vector and Matrix structures, some output methods, and the Eigenvalues function for higher-level usage. Vectors can be created, accessed, edited and deleted using the NewVector, GetVectorAt, SetVectorAt, and FreeVector methods. Similarly, matrices can be manipulated with methods whose name follows the same conventions.

Footnotes

  1. All tests are implemented with low level functions.

Used by

Contributors

Languages