{"id":26882596,"url":"https://github.com/waynewbishop/bishop-algorithms-quiver-package","last_synced_at":"2025-03-31T16:38:57.763Z","repository":{"id":285324765,"uuid":"957734620","full_name":"waynewbishop/bishop-algorithms-quiver-package","owner":"waynewbishop","description":"Quiver is a Swift package that provides vector operations for Swift applications.","archived":false,"fork":false,"pushed_at":"2025-03-31T03:22:16.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T04:24:01.443Z","etag":null,"topics":["data-science","linear-algebra","numpy","swift","vectors"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waynewbishop.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-03-31T03:09:35.000Z","updated_at":"2025-03-31T03:25:10.000Z","dependencies_parsed_at":"2025-03-31T04:24:04.701Z","dependency_job_id":"121cd676-5119-4c02-948d-b62c753e8b1e","html_url":"https://github.com/waynewbishop/bishop-algorithms-quiver-package","commit_stats":null,"previous_names":["waynewbishop/bishop-algorithms-quiver-package"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynewbishop%2Fbishop-algorithms-quiver-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynewbishop%2Fbishop-algorithms-quiver-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynewbishop%2Fbishop-algorithms-quiver-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waynewbishop%2Fbishop-algorithms-quiver-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waynewbishop","download_url":"https://codeload.github.com/waynewbishop/bishop-algorithms-quiver-package/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246499431,"owners_count":20787500,"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":["data-science","linear-algebra","numpy","swift","vectors"],"created_at":"2025-03-31T16:38:56.768Z","updated_at":"2025-03-31T16:38:57.753Z","avatar_url":"https://github.com/waynewbishop.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quiver: Swift Vector Operations Framework\nQuiver is a Swift package that provides powerful vector operations for Swift applications, inspired by NumPy's functionality in Python. This lightweight, educational framework enables developers to perform element-wise operations, vector calculations, and matrix transformations with simple, readable syntax.\n\n## Features\n* Element-wise arithmetic operations (+, -, *, /)\n* Vector calculations (dot product, magnitude, normalization)\n* Angle calculations between vectors\n* Projection operations\n* Matrix-vector transformations\n* Shape and dimension information\n\n## Usage Examples\nQuiver extends Swift's native `Array` type, providing seamless integration with your existing code. If you're familiar with working with Arrays in Swift, you'll feel right at home with Quiver.\n\n### Element-wise Operations\nPerform arithmetic operations on vectors just like you would with scalars:\n\n```\nimport Quiver\n\n// Create arrays\nlet v1 = [2.0, 4.0, 6.0]\nlet v2 = [4.0, 8.0, 12.0]\n\n// Element-wise addition\nlet sum = v1 + v2  // [6.0, 12.0, 18.0]\n\n// Element-wise subtraction\nlet difference = v2 - v1  // [2.0, 4.0, 6.0]\n```\n\n### Vector Operations\nCalculate dot products, magnitudes, and normalize vectors:\n\n```\n// Dot product\nlet dotProduct = v1.dot(v2)  // 112.0\n\n// Magnitude (length) of vector\nlet magnitude = v1.magnitude  // 8.0\n\n// Normalize vector to unit length\nlet unitVector = [1.0, 2.0, 2.0].normalized  // [0.33, 0.67, 0.67]\n```\n\n### Angle Calculations\nFind the angle between two vectors:\n\n```\nlet a = [3.0, 4.0]\nlet b = [5.0, 0.0]\n\n// Vector projection\nlet projected = a.vectorProjection(onto: b)  // [3.0, 0.0]\n\n// Scalar projection\nlet scalarProjection = a.scalarProjection(onto: b)  // 3.0\n```\n\n## Benefits Beyond Vector Operations\n\n### Bridge to Python Data Science\nQuiver adopts conventions similar to NumPy, making it easier to:\n* Prepare data in Swift applications before sending to Python libraries\n* Maintain consistency between Swift and Python codebases\n* Simplify the learning curve when transitioning between languages\n* Process data locally before sending to external services\n\n### Enhanced Swift Charts Visualization\nQuiver seamlessly integrates with Swift Charts to create powerful data visualizations:\n* **Line Charts**: Use vector operations to transform and normalize data points\n* **Scatter Plots**: Calculate distances, clusters, and projections for more meaningful plots\n* **Bar Charts**: Apply scaling and normalization to raw data for better visualization\n\n### Audience\nQuiver is designed for:\n* iOS/macOS developers working with numerical data\n* Data scientists exploring Swift as an alternative to Python\n* Educational settings teaching vector mathematics\n* Developers building data visualization applications\n\n## Contributing\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\nQuiver is available under the Apache License, Version 2.0. See the LICENSE file for more info.\n\n## Questions\nHave a question? Feel free to contact me on ~[LinkedIn](https://www.linkedin.com/in/waynebishop)~.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaynewbishop%2Fbishop-algorithms-quiver-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaynewbishop%2Fbishop-algorithms-quiver-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaynewbishop%2Fbishop-algorithms-quiver-package/lists"}