Matrix class
          #include <eckit/linalg/Matrix.h>
        
        Dense matrix in column major storage order.
Public types
- using Size = linalg::Size
Constructors, destructors, conversion operators
- Matrix()
- Default constructor (empty matrix)
- Matrix(Size rows, Size cols)
- Construct matrix with given rows and columns (allocates memory, not initialised)
- Matrix(const Scalar* array, Size rows, Size cols)
- Construct matrix from existing data (does NOT take ownership)
- Matrix(Stream&)
- Constructor from Stream.
- Matrix(const Matrix&)
- Copy constructor.
- ~Matrix()
- Destructor.
Public functions
- auto operator=(const Matrix&) -> Matrix&
- void swap(Matrix&)
- Swap this matrix with another.
- void resize(Size rows, Size cols)
- Resize matrix to given number of rows/columns (invalidates data)
- void setZero()
- Set data to zero.
- void fill(Scalar)
- Fill vector with given scalar.
- void encode(Stream&) const
- Serialise to a Stream.
- auto size() const -> Size
- auto rows() const -> Size
- auto cols() const -> Size
- auto operator()(Size row, Size col) -> Scalar&
- auto operator()(Size row, Size col) const -> const Scalar&
- auto operator[](Size i) -> Scalar&
- Access to linearised storage.
- auto operator[](Size i) const -> const Scalar&
- auto data() -> Scalar*
- auto data() const -> const Scalar*
- auto begin() -> Scalar*
- auto begin() const -> const Scalar*
- auto end() -> Scalar*
- auto end() const -> const Scalar*
Function documentation
              Size eckit::
            | Returns | size (rows * cols) | 
|---|
              Size eckit::
            | Returns | number of rows | 
|---|
              Size eckit::
            | Returns | number of columns | 
|---|
              Scalar& eckit::
Access by row and column