SoWeBegin / LinearAlgebra

C++20 Linear Algebra header only library, with lots of support for complex operations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LinearAlgebra

MathLbr is a (yet small) C++20 header only library about linear algebra. The goal is to provide the most utilities possible, with almost complete support for complex operations (through std::complex) as well.

MathLbr::vector

Brief Introduction

Member functions

Constructors
Element access
Vector Direction
Angle between two vectors
is_empty()
Iterators
Magnitude/Norm of a vector
Normalizing a vector
Printing a vector
Adding elements
apply_foreach
Comparing two vectors
Conversions: Cartesian<->Polar, Cartesian<->Spherical, Cartesian<->Cylindrical
Operator / (Division)
Negating all elements (operator-)
Operator* (multiplication)
Operator+ (sum)
Operator- (substraction)
Products: Cross Product, Dot Product, Triple Scalar Product, Triple Vector Product
Projection
Conditions: Parallelism, Coplanarity, Orthogonality
Vector's Size

Particular Definitions (Enums)

Cos enum, ComplexInnerProduct enum

MathLbr::matrix

... Incoming

Bugs and reports

Let me know if you find any bugs or have anything to report (new features as well)!

Resources

https://en.wikipedia.org/wiki/Dot_product
https://proofwiki.org/wiki/Definition:Dot_Product/Complex
https://math.stackexchange.com/questions/129227/cross-product-in-complex-vector-spaces
https://proofwiki.org/wiki/Definition:Vector_Cross_Product/Complex
https://www.sciencedirect.com/topics/mathematics/orthogonal-set-of-vector
https://math.stackexchange.com/questions/1041909/complex-projections-order-in-inner-product
https://math.stackexchange.com/questions/1670156/norm-of-complex-vector
https://www.researchgate.net/publication/222819247_Projection_bodies_in_complex_vector_spaces
https://proofwiki.org/wiki
https://en.wikipedia.org/wiki/Complex_coordinate_space
https://www.sciencedirect.com/topics/mathematics/complex-vector
https://mathoverflow.net/questions/6235/real-and-complex-projections
https://solitaryroad.com/c135.html#:~:text=Orthogonal%20vectors.,their%20inner%20product%20is%20zero.&text=1%5D%20Any%20set%20of%20m,dimensional%20subspace%20of%20n%2Dspace.
https://math.stackexchange.com/questions/1140177/non-zero-complex-numbers-are-orthogonal-iff-dot-product-is-zero
https://math.stackexchange.com/questions/2078911/finding-a-complex-orthonormal-basis
... And so much more I forgot to save!

About

C++20 Linear Algebra header only library, with lots of support for complex operations.

License:GNU General Public License v3.0


Languages

Language:C++ 100.0%Language:C 0.0%