{"id":21980407,"url":"https://github.com/diantonioandrea/naqra","last_synced_at":"2025-03-23T01:14:46.332Z","repository":{"id":264616955,"uuid":"890506485","full_name":"diantonioandrea/NAQRA","owner":"diantonioandrea","description":"NAQRA - Neon Accelerated QR Algorithm.","archived":false,"fork":false,"pushed_at":"2024-12-04T22:32:16.000Z","size":130,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T04:26:26.374Z","etag":null,"topics":["arm-neon","c23","complex-numbers","eigenvalues","numerical-linear-algebra","qr-algorithm"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diantonioandrea.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-18T17:27:09.000Z","updated_at":"2024-12-20T23:57:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"5c047acd-cf20-45be-840f-28f17b9d5e24","html_url":"https://github.com/diantonioandrea/NAQRA","commit_stats":null,"previous_names":["diantonioandrea/naqra"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diantonioandrea%2FNAQRA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diantonioandrea%2FNAQRA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diantonioandrea%2FNAQRA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diantonioandrea%2FNAQRA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diantonioandrea","download_url":"https://codeload.github.com/diantonioandrea/NAQRA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245040691,"owners_count":20551308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arm-neon","c23","complex-numbers","eigenvalues","numerical-linear-algebra","qr-algorithm"],"created_at":"2024-11-29T17:11:10.157Z","updated_at":"2025-03-23T01:14:46.314Z","avatar_url":"https://github.com/diantonioandrea.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAQRA\n\n_**N**eon **A**ccelerated **QR** **A**lgorithm_\n\n## Introduction\n\nAn implementation of the [_QR Algorithm_](https://en.wikipedia.org/wiki/QR_algorithm) with _Double Wilkinson's Shift_ utilizing [_Neon_](https://developer.arm.com/Architectures/Neon) intrinsics, written in `C23`.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Table of Contents](#table-of-contents)\n- [Setup](#setup)\n    - [Cloning the Repository](#cloning-the-repository)\n    - [Compiling the Tests](#compiling-the-tests)\n- [Usage](#usage)\n    - [Interface](#interface)\n\n## Setup\n\n### Cloning the Repository\n\nClone the repository from [here](https://github.com/diantonioandrea/NAQRA):\n\n```bash\ngit clone git@github.com:diantonioandrea/NAQRA.git\n```\n\n### Compiling the Tests\n\nCompile the tests located under `src/`:\n\n```bash\nmake\n```\n\nThe executables are then located under `executables/`.\n\nTests 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.\n\n## Usage\n\nEvery method developed in **NAQRA** follows a structured naming convention with three parts, separated by underscores:\n\n1. **Function**: Describes the primary operation or behavior of the method.\n2. **Input(s)**: Specifies the type or nature of the inputs.\n3. **Output**: Indicates the type or nature of the resulting output.\n\nAll methods are documented directly within the code for clarity and ease of use.\n\n### Interface[^Interface]\n\nMoreover, 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.\n\n[^Interface]: All tests are implemented with low level functions.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiantonioandrea%2Fnaqra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiantonioandrea%2Fnaqra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiantonioandrea%2Fnaqra/lists"}