Comments (5)
vec<T,1>
and mat<T,1,N>
are defined in the v3
branch.
For the time being, since mul(v, m)
isn't available, you can use mul(transpose(m), v)
as a workaround.
I'm going to keep this issue open nonetheless to remind myself to implement the (row-)vector * matrix in the v3
branch. Thank you for your interest in linalg
.
from linalg.
from linalg.
Is it just me or is matrix multiplication missing from v3 tho?
from linalg.
Ah, looks like I forgot to follow up with you on this. My apologies.
I wound up back-porting most of the interesting functionality from the v3
branch onto v2
some time ago in a backwards-compatible way. Among this functionality was the vec<T,1>
and mat<T,M,1>
specializations needed for this sort of functionality.
For the time being, however, I think I will continue to omit vector x matrix
multiplications. There are several parts of linalg
, notably the matrix factory functions and the functions for round-tripping between rotation matrices and quaternions, which assume that transformations will be performed using column vectors. As I don't have a good mechanism in place to explicitly mark which functions depend on column semantics and which do not, it feels semantically clearest to continue to treat vec<T,M>
as equivalent to mat<T,M,1>
when it comes to matrix multiplication, etc.
However, there's nothing inconsistent about treating vec<T,M>
the same way for the transpose(...)
function, so I've added that overload. If you require row-vector x matrix
multiplication for whatever reason, mul(tranpose(v), m)
will carry out the desired operation, though it will yield a result which is a single-row matrix.
from linalg.
Thanks for following up :) Hopefully it will be useful for someone, even as I've personally moved on.
from linalg.
Related Issues (20)
- Reduction functions for matrices? HOT 2
- Identity() HOT 3
- User Code Extensions HOT 3
- Undefined behavior on operator[] overload prevents use in constexpr context HOT 3
- Fix semantics of operator overloads on matrices. HOT 4
- Finish documentation for `v3` branch. HOT 1
- Question about column order. HOT 1
- Doesn't build on MSVC 2017 HOT 3
- Future usability wishlist HOT 4
- `mul()` gives wrong answer? HOT 1
- Feature request: Disable operator * for matrices? HOT 2
- Initializing a std::array of vecs HOT 3
- glm::lookAt equivalent? HOT 10
- `using namespace linalg::ostream_overloads` sometimes does not work. HOT 1
- Suggestion: projection_onto() and rejection_from() functions for vectors HOT 1
- Convert a mat4 to a mat3 and back
- Compilation with clang fails on OS X (error: ambiguous call to std::abs()) HOT 1
- rotation_quat fails in some cases HOT 8
- avoid GCC -Wshadow warnings? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linalg.