some algs like Gaussian elimination or reduced echelon form work on the structure
Ab = [A, b].
Is there a way to pass
b, then work on
Ab without allocations, a kind of
Are you looking for an allocation free hcat?
If yes, have a look at LazyArrays.jl:
good find - thx!
Note that this is more common in hand calculation than in serious numerics. In practical numerical algorithms, you can generally analyze
A first and then
For example, the analogue of Gaussian elimination on
[A b] is to do LU factorization of
A and then apply the factorization to
b with triangular solves. (Julia provides easy, efficient methods for this.) Similarly for other factorization. (Reduced echelon form is not really used in practical numerics.)
No doubt for usual numerical work.
My special use case is code generation which actually resembles hand calculation.
Similar for the reduced row echelon form, used to convert MNA matrices from circuit simulation to state-space form.
Since GE does not explicitly calculate and store
L, it is faster than
LU for a single RHS.
I was still looking for an implementation of GE which works on
A, b instead of
Found it here: https://ww2.odu.edu/~agodunov/computing/programs/book2/Ch06/Gauss_2.f90