\doxysection{Matrix\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference}
\hypertarget{class_matrix}{}\label{class_matrix}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}}


This class implements a matrix object used for linear algebra and vectorized operations.  




{\ttfamily \#include $<$Matrix.\+h$>$}

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{class_matrix_a9d567e3a121b1be0c3f9c461cab524fe}\label{class_matrix_a9d567e3a121b1be0c3f9c461cab524fe} 
{\bfseries Matrix} ()
\begin{DoxyCompactList}\small\item\em Default constructor. Initializes an empty matrix. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix_ad6a6ba5c7dc867d01491b44d9405988b}{Matrix}} (long dim\+\_\+x, long dim\+\_\+y)
\begin{DoxyCompactList}\small\item\em Constructor that initializes the matrix with the specified dimensions. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix_ae059b7ba37ec2ec05cbe827795448bfe}{Matrix}} (long dim\+\_\+x, long dim\+\_\+y, std\+::initializer\+\_\+list$<$ T $>$ l)
\begin{DoxyCompactList}\small\item\em Constructor that initializes the matrix with the specified dimensions and data. \end{DoxyCompactList}\item 
\Hypertarget{class_matrix_a91aa704de674203e96aece9e1955ccd3}\label{class_matrix_a91aa704de674203e96aece9e1955ccd3} 
{\bfseries \texorpdfstring{$\sim$}{\string~}\+Matrix} ()
\begin{DoxyCompactList}\small\item\em Destructor. Cleans up the allocated memory. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix_ab829dc851f8fcafee35a729a31457d73}{Matrix}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Copy constructor. Creates a copy of an existing \doxylink{class_matrix}{Matrix} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix_a534f07d0e3ec3c9c62f3742c4efc6eed}{Matrix}} (\mbox{\hyperlink{class_matrix}{Matrix}} \&\&other)
\begin{DoxyCompactList}\small\item\em Move constructor. Moves the data from a given \doxylink{class_matrix}{Matrix} object to the new one. \end{DoxyCompactList}\item 
\Hypertarget{class_matrix_adba2718ce74fbc4aa2cd6c9b204e3ce2}\label{class_matrix_adba2718ce74fbc4aa2cd6c9b204e3ce2} 
T \texorpdfstring{$\ast$}{*} {\bfseries get\+Data} ()
\item 
\Hypertarget{class_matrix_a408edf4a23ef576c5a1ab34e24eb0269}\label{class_matrix_a408edf4a23ef576c5a1ab34e24eb0269} 
long {\bfseries get\+\_\+rows} () const
\item 
\Hypertarget{class_matrix_a4d52787c81114d18b9bcf1a8d1aa3ae2}\label{class_matrix_a4d52787c81114d18b9bcf1a8d1aa3ae2} 
long {\bfseries get\+\_\+cols} () const
\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_acc03dae842897a0901936ce03f1b75fe}{operator=}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Copy assignment operator. Copies the data from the given \doxylink{class_matrix}{Matrix} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_a5d9f981b3169188946781ec7edbabd26}{operator=}} (\mbox{\hyperlink{class_matrix}{Matrix}} \&\&other)
\begin{DoxyCompactList}\small\item\em Move assignment operator. Moves the data from the given \doxylink{class_matrix}{Matrix} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_ab72fda397e9af105ce7be2341fb25d9b}{operator=}} (T constant)
\begin{DoxyCompactList}\small\item\em Constant assignment operator. Assigns all \doxylink{class_matrix}{Matrix} values to one constant. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_a150c69d4533e93d4e8002fe5ac10200a}{operator+=}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (addition). Adds another \doxylink{class_matrix}{Matrix} to this \doxylink{class_matrix}{Matrix}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_a2e80183992919a31dd9fe30916c5c82e}{operator-\/=}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (subtraction). Subtracts another \doxylink{class_matrix}{Matrix} from this \doxylink{class_matrix}{Matrix}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_a757ef8e7398cdf3aa97e6619e984f353}{operator\texorpdfstring{$\ast$}{*}=}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (multiplication). Multiplies this \doxylink{class_matrix}{Matrix} with another \doxylink{class_matrix}{Matrix}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_ada301b25b3fd3063b1f0a8c834e687a3}{operator/=}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (division). Divides this \doxylink{class_matrix}{Matrix} by another \doxylink{class_matrix}{Matrix}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_ad9ee802b79a0ac2f4e56415200ea56bc}{operator+=}} (T other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (addition). Adds a scalar to this \doxylink{class_matrix}{Matrix}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_aa51f48a4eb24588c60b6e7376616f5d5}{operator-\/=}} (T other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (subtraction). Subtracts a scalar from this \doxylink{class_matrix}{Matrix}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_aa809e234c5c13f052634ec5255cd4170}{operator\texorpdfstring{$\ast$}{*}=}} (T other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (multiplication). Multiplies this \doxylink{class_matrix}{Matrix} by a scalar. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \& \mbox{\hyperlink{class_matrix_a9ca39ec8f8c1c2286578d30287f1206d}{operator/=}} (T other)
\begin{DoxyCompactList}\small\item\em Compound assignment operator (division). Divides this \doxylink{class_matrix}{Matrix} by a scalar. \end{DoxyCompactList}\item 
T \& \mbox{\hyperlink{class_matrix_a107c742879efe5ac59daa485dd1f99ca}{operator()}} (const long i, const long j)
\begin{DoxyCompactList}\small\item\em Subscript operator for element access (read/write). \end{DoxyCompactList}\item 
const T \& \mbox{\hyperlink{class_matrix_aade66eb55a53e09ae6b2cfa2ccd3b7cb}{operator()}} (const long i, const long j) const
\begin{DoxyCompactList}\small\item\em Subscript operator for element access (read-\/only). \end{DoxyCompactList}\item 
T \& \mbox{\hyperlink{class_matrix_a0a5bec6cf9d67d215259590192b1d6a9}{operator()}} (const long n)
\begin{DoxyCompactList}\small\item\em Subscript operator for element access in a single row (read/write). \end{DoxyCompactList}\item 
const T \& \mbox{\hyperlink{class_matrix_a60f642f8f5eadf4ae99695be0c7409ec}{operator()}} (const long n) const
\begin{DoxyCompactList}\small\item\em Subscript operator for element access in a single row (read-\/only). \end{DoxyCompactList}\item 
\Hypertarget{class_matrix_a8bf220563d7a771ed0b977d811d641e0}\label{class_matrix_a8bf220563d7a771ed0b977d811d641e0} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator+} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\item 
\Hypertarget{class_matrix_abb2c883986cb575107ff6c9109a7912e}\label{class_matrix_abb2c883986cb575107ff6c9109a7912e} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator-\/} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\item 
\Hypertarget{class_matrix_a15d8817de05af464ae8612e8690931cd}\label{class_matrix_a15d8817de05af464ae8612e8690931cd} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator\texorpdfstring{$\ast$}{*}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\item 
\Hypertarget{class_matrix_a516590b60731f49fe87a157c183c197b}\label{class_matrix_a516590b60731f49fe87a157c183c197b} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator/} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\item 
\Hypertarget{class_matrix_ad72fa1873084fe161d6069d4e2ae6e98}\label{class_matrix_ad72fa1873084fe161d6069d4e2ae6e98} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator\texorpdfstring{$\ast$}{*}} (T constant)
\item 
\Hypertarget{class_matrix_aaa349c4423428dd1d9fba687b703f3a2}\label{class_matrix_aaa349c4423428dd1d9fba687b703f3a2} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator/} (T constant)
\item 
\Hypertarget{class_matrix_afe654faacf15a30cbe7a598243a4ca7b}\label{class_matrix_afe654faacf15a30cbe7a598243a4ca7b} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator\texorpdfstring{$^\wedge$}{\string^}} (T constant)
\item 
\Hypertarget{class_matrix_a336bd05d205ee231acd3b21719882757}\label{class_matrix_a336bd05d205ee231acd3b21719882757} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator+} (T constant)
\item 
\Hypertarget{class_matrix_ad9a3f7ffb492b08542510f398523944b}\label{class_matrix_ad9a3f7ffb492b08542510f398523944b} 
\mbox{\hyperlink{class_matrix}{Matrix}} {\bfseries operator-\/} (T constant)
\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \mbox{\hyperlink{class_matrix_a33b9a1b469adfb4f002564ba874f41c9}{dot}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Calculates the dot product of two matrices. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \mbox{\hyperlink{class_matrix_a03b588592a081b3bcba0e121ca0164b1}{cross}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Calculates the cross product of two matrices. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \mbox{\hyperlink{class_matrix_a93a24d7519f7158d4c6b50c92c6c2a0d}{outer}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Calculates the outer product of two matrices. \end{DoxyCompactList}\item 
std\+::tuple$<$ \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$, \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ $>$ \mbox{\hyperlink{class_matrix_a2e570e590ed9c4cc887041d3b83363ce}{meshgrid}} (const \mbox{\hyperlink{class_matrix}{Matrix}} \&other)
\begin{DoxyCompactList}\small\item\em Calculates the meshgrid of 2 1D matrices. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_matrix}{Matrix}} \mbox{\hyperlink{class_matrix_afcee4f858a2f7dfde3dc28e6d1d32c59}{tr}} ()
\begin{DoxyCompactList}\small\item\em Transposes the matrix. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_matrix_a7ef7109486e3ba18eced478f5cc568cc}{norm}} ()
\begin{DoxyCompactList}\small\item\em Calculates the Frobenius norm of the matrix. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_matrix_a3291a8c2e19645eec06c8e2d724f4772}{max}} ()
\begin{DoxyCompactList}\small\item\em Finds the maximum element in the matrix. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_matrix_a9301529aec40e450ba77a50afab48646}{min}} ()
\begin{DoxyCompactList}\small\item\em Finds the minimum element in the matrix. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_matrix_ad13471b4c864eec5335ad1eb70cb85f4}{print}} ()
\begin{DoxyCompactList}\small\item\em Prints the matrix to the console. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$typename T$>$\newline
class Matrix$<$ T $>$}
This class implements a matrix object used for linear algebra and vectorized operations. 

The \doxylink{class_matrix}{Matrix} class provides a range of operations that can be performed on matrix objects, including addition, subtraction, multiplication, division, dot product, cross product, and various other operations common in linear algebra. 

\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{class_matrix_ad6a6ba5c7dc867d01491b44d9405988b}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!Matrix@{Matrix}}
\index{Matrix@{Matrix}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Matrix()}{Matrix()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \label{class_matrix_ad6a6ba5c7dc867d01491b44d9405988b} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\mbox{\hyperlink{class_matrix}{\+::\+Matrix}} (\begin{DoxyParamCaption}\item[{long}]{dim\+\_\+x}{, }\item[{long}]{dim\+\_\+y}{}\end{DoxyParamCaption})}



Constructor that initializes the matrix with the specified dimensions. 

The created matrix has the specified number of rows and columns, all set to zero.


\begin{DoxyParams}{Parameters}
{\em dim\+\_\+x} & Number of rows. \\
\hline
{\em dim\+\_\+y} & Number of columns. \\
\hline
\end{DoxyParams}
\Hypertarget{class_matrix_ae059b7ba37ec2ec05cbe827795448bfe}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!Matrix@{Matrix}}
\index{Matrix@{Matrix}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Matrix()}{Matrix()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \label{class_matrix_ae059b7ba37ec2ec05cbe827795448bfe} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\mbox{\hyperlink{class_matrix}{\+::\+Matrix}} (\begin{DoxyParamCaption}\item[{long}]{dim\+\_\+x}{, }\item[{long}]{dim\+\_\+y}{, }\item[{std\+::initializer\+\_\+list$<$ T $>$}]{l}{}\end{DoxyParamCaption})}



Constructor that initializes the matrix with the specified dimensions and data. 

The created matrix has the specified number of rows and columns. The data for the matrix is provided by an initializer list. If the size of the list does not match the expected size of the matrix (rows \texorpdfstring{$\ast$}{*} columns), an error message is displayed.


\begin{DoxyParams}{Parameters}
{\em dim\+\_\+x} & Number of rows. \\
\hline
{\em dim\+\_\+y} & Number of columns. \\
\hline
{\em l} & Initializer list containing data to populate the matrix. \\
\hline
\end{DoxyParams}
\Hypertarget{class_matrix_ab829dc851f8fcafee35a729a31457d73}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!Matrix@{Matrix}}
\index{Matrix@{Matrix}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Matrix()}{Matrix()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \label{class_matrix_ab829dc851f8fcafee35a729a31457d73} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\mbox{\hyperlink{class_matrix}{\+::\+Matrix}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Copy constructor. Creates a copy of an existing \doxylink{class_matrix}{Matrix} object. 

This constructor creates a new \doxylink{class_matrix}{Matrix} object with the same dimensions and copies all elements from the original matrix to the new one.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object to copy from. \\
\hline
\end{DoxyParams}
\Hypertarget{class_matrix_a534f07d0e3ec3c9c62f3742c4efc6eed}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!Matrix@{Matrix}}
\index{Matrix@{Matrix}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Matrix()}{Matrix()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \label{class_matrix_a534f07d0e3ec3c9c62f3742c4efc6eed} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\mbox{\hyperlink{class_matrix}{\+::\+Matrix}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&\&}]{other}{}\end{DoxyParamCaption})}



Move constructor. Moves the data from a given \doxylink{class_matrix}{Matrix} object to the new one. 

This constructor "{}steals"{} the internal data from the original object and leaves it in an empty state. This is more efficient than copying when the original object is no longer needed.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object whose data is to be moved. \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\Hypertarget{class_matrix_a03b588592a081b3bcba0e121ca0164b1}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!cross@{cross}}
\index{cross@{cross}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{cross()}{cross()}}
{\footnotesize\ttfamily \label{class_matrix_a03b588592a081b3bcba0e121ca0164b1} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::cross (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Calculates the cross product of two matrices. 

This function calculates the cross product, or vector product, of two matrices. Both matrices must be 3x1 (three rows, one column), otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The matrix with which to calculate the cross product. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new \doxylink{class_matrix}{Matrix} object containing the result of the cross product. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a33b9a1b469adfb4f002564ba874f41c9}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!dot@{dot}}
\index{dot@{dot}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{dot()}{dot()}}
{\footnotesize\ttfamily \label{class_matrix_a33b9a1b469adfb4f002564ba874f41c9} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::dot (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Calculates the dot product of two matrices. 

This function calculates the dot product, or scalar product, of two matrices. Both matrices must have the same dimensions, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The matrix with which to calculate the dot product. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new \doxylink{class_matrix}{Matrix} object containing the result of the dot product. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a3291a8c2e19645eec06c8e2d724f4772}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!max@{max}}
\index{max@{max}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{max()}{max()}}
{\footnotesize\ttfamily \label{class_matrix_a3291a8c2e19645eec06c8e2d724f4772} 
template$<$typename T $>$ \\
T \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::max (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Finds the maximum element in the matrix. 

This function searches for the largest element in the matrix.

\begin{DoxyReturn}{Returns}
The value of the largest element in the matrix. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a2e570e590ed9c4cc887041d3b83363ce}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!meshgrid@{meshgrid}}
\index{meshgrid@{meshgrid}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{meshgrid()}{meshgrid()}}
{\footnotesize\ttfamily \label{class_matrix_a2e570e590ed9c4cc887041d3b83363ce} 
template$<$typename T $>$ \\
std\+::tuple$<$ \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$, \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ $>$ \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::meshgrid (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Calculates the meshgrid of 2 1D matrices. 

This function calculates the meshgrid matrix of two 1D vectors. Both vectors must be column vectors, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The matrix with which to calculate the meshgrid. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new \doxylink{class_matrix}{Matrix} object containing the result of the mehsgrid. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a9301529aec40e450ba77a50afab48646}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!min@{min}}
\index{min@{min}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{min()}{min()}}
{\footnotesize\ttfamily \label{class_matrix_a9301529aec40e450ba77a50afab48646} 
template$<$typename T $>$ \\
T \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::min (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Finds the minimum element in the matrix. 

This function searches for the smallest element in the matrix.

\begin{DoxyReturn}{Returns}
The value of the smallest element in the matrix. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a7ef7109486e3ba18eced478f5cc568cc}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!norm@{norm}}
\index{norm@{norm}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{norm()}{norm()}}
{\footnotesize\ttfamily \label{class_matrix_a7ef7109486e3ba18eced478f5cc568cc} 
template$<$typename T $>$ \\
T \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::norm (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Calculates the Frobenius norm of the matrix. 

This function calculates the square root of the sum of the absolute squares of its elements.

\begin{DoxyReturn}{Returns}
The Frobenius norm of the matrix. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a107c742879efe5ac59daa485dd1f99ca}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily \label{class_matrix_a107c742879efe5ac59daa485dd1f99ca} 
template$<$typename T $>$ \\
T \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator() (\begin{DoxyParamCaption}\item[{const long}]{i}{, }\item[{const long}]{j}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Subscript operator for element access (read/write). 

This operator provides direct access to the matrix data using a two-\/dimensional index. It performs boundary checks and throws an exception if the indices are out of range.


\begin{DoxyParams}{Parameters}
{\em i} & The row index. \\
\hline
{\em j} & The column index. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the element at the specified position. 
\end{DoxyReturn}
\Hypertarget{class_matrix_aade66eb55a53e09ae6b2cfa2ccd3b7cb}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily \label{class_matrix_aade66eb55a53e09ae6b2cfa2ccd3b7cb} 
template$<$typename T $>$ \\
const T \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator() (\begin{DoxyParamCaption}\item[{const long}]{i}{, }\item[{const long}]{j}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Subscript operator for element access (read-\/only). 

This operator provides direct access to the matrix data using a two-\/dimensional index. It performs boundary checks and throws an exception if the indices are out of range.


\begin{DoxyParams}{Parameters}
{\em i} & The row index. \\
\hline
{\em j} & The column index. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A constant reference to the element at the specified position. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a0a5bec6cf9d67d215259590192b1d6a9}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily \label{class_matrix_a0a5bec6cf9d67d215259590192b1d6a9} 
template$<$typename T $>$ \\
T \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator() (\begin{DoxyParamCaption}\item[{const long}]{n}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Subscript operator for element access in a single row (read/write). 

This operator provides direct access to the matrix data considering it as a single row. It performs boundary checks and throws an exception if the index is out of range.


\begin{DoxyParams}{Parameters}
{\em n} & The index in the matrix considering it as a single row. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the element at the specified position. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a60f642f8f5eadf4ae99695be0c7409ec}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator()@{operator()}}
\index{operator()@{operator()}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily \label{class_matrix_a60f642f8f5eadf4ae99695be0c7409ec} 
template$<$typename T $>$ \\
const T \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator() (\begin{DoxyParamCaption}\item[{const long}]{n}{}\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Subscript operator for element access in a single row (read-\/only). 

This operator provides direct access to the matrix data considering it as a single row. It performs boundary checks and throws an exception if the index is out of range.


\begin{DoxyParams}{Parameters}
{\em n} & The index in the matrix considering it as a single row. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A constant reference to the element at the specified position. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a757ef8e7398cdf3aa97e6619e984f353}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator\texorpdfstring{$\ast$}{*}=@{operator\texorpdfstring{$\ast$}{*}=}}
\index{operator\texorpdfstring{$\ast$}{*}=@{operator\texorpdfstring{$\ast$}{*}=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator\texorpdfstring{$\ast$}{*}=()}{operator*=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_matrix_a757ef8e7398cdf3aa97e6619e984f353} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator\texorpdfstring{$\ast$}{*}= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (multiplication). Multiplies this \doxylink{class_matrix}{Matrix} with another \doxylink{class_matrix}{Matrix}. 

This operator performs matrix multiplication between this \doxylink{class_matrix}{Matrix} and the \textquotesingle{}other\textquotesingle{} \doxylink{class_matrix}{Matrix}. The number of columns in this \doxylink{class_matrix}{Matrix} must be equal to the number of rows in the \textquotesingle{}other\textquotesingle{} matrix, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object to be multiplied with this one. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_aa809e234c5c13f052634ec5255cd4170}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator\texorpdfstring{$\ast$}{*}=@{operator\texorpdfstring{$\ast$}{*}=}}
\index{operator\texorpdfstring{$\ast$}{*}=@{operator\texorpdfstring{$\ast$}{*}=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator\texorpdfstring{$\ast$}{*}=()}{operator*=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_matrix_aa809e234c5c13f052634ec5255cd4170} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator\texorpdfstring{$\ast$}{*}= (\begin{DoxyParamCaption}\item[{T}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (multiplication). Multiplies this \doxylink{class_matrix}{Matrix} by a scalar. 

This operator performs element-\/wise multiplication of this \doxylink{class_matrix}{Matrix} by a scalar value. Each element of this \doxylink{class_matrix}{Matrix} is multiplied by the scalar value.


\begin{DoxyParams}{Parameters}
{\em other} & The scalar value to multiply this \doxylink{class_matrix}{Matrix}\textquotesingle{}s elements by. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a150c69d4533e93d4e8002fe5ac10200a}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_matrix_a150c69d4533e93d4e8002fe5ac10200a} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator+= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (addition). Adds another \doxylink{class_matrix}{Matrix} to this \doxylink{class_matrix}{Matrix}. 

This operator performs element-\/wise addition between this \doxylink{class_matrix}{Matrix} and the \textquotesingle{}other\textquotesingle{} \doxylink{class_matrix}{Matrix}. Both matrices must have the same dimensions, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object to be added to this one. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_ad9ee802b79a0ac2f4e56415200ea56bc}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_matrix_ad9ee802b79a0ac2f4e56415200ea56bc} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator+= (\begin{DoxyParamCaption}\item[{T}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (addition). Adds a scalar to this \doxylink{class_matrix}{Matrix}. 

This operator performs element-\/wise addition of a scalar value to this \doxylink{class_matrix}{Matrix}. The scalar value is added to every element of this \doxylink{class_matrix}{Matrix}.


\begin{DoxyParams}{Parameters}
{\em other} & The scalar value to be added to this \doxylink{class_matrix}{Matrix}\textquotesingle{}s elements. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a2e80183992919a31dd9fe30916c5c82e}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_matrix_a2e80183992919a31dd9fe30916c5c82e} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator-\/= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (subtraction). Subtracts another \doxylink{class_matrix}{Matrix} from this \doxylink{class_matrix}{Matrix}. 

This operator performs element-\/wise subtraction of the \textquotesingle{}other\textquotesingle{} \doxylink{class_matrix}{Matrix} from this \doxylink{class_matrix}{Matrix}. Both matrices must have the same dimensions, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object to be subtracted from this one. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_aa51f48a4eb24588c60b6e7376616f5d5}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_matrix_aa51f48a4eb24588c60b6e7376616f5d5} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator-\/= (\begin{DoxyParamCaption}\item[{T}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (subtraction). Subtracts a scalar from this \doxylink{class_matrix}{Matrix}. 

This operator performs element-\/wise subtraction of a scalar value from this \doxylink{class_matrix}{Matrix}. The scalar value is subtracted from every element of this \doxylink{class_matrix}{Matrix}.


\begin{DoxyParams}{Parameters}
{\em other} & The scalar value to be subtracted from this \doxylink{class_matrix}{Matrix}\textquotesingle{}s elements. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_ada301b25b3fd3063b1f0a8c834e687a3}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator/=()}{operator/=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \label{class_matrix_ada301b25b3fd3063b1f0a8c834e687a3} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator/= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (division). Divides this \doxylink{class_matrix}{Matrix} by another \doxylink{class_matrix}{Matrix}. 

This operator performs element-\/wise division of this \doxylink{class_matrix}{Matrix} by the \textquotesingle{}other\textquotesingle{} \doxylink{class_matrix}{Matrix}. Both matrices must have the same dimensions, and the \textquotesingle{}other\textquotesingle{} matrix must not contain any zero elements, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object to divide this one by. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a9ca39ec8f8c1c2286578d30287f1206d}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator/=()}{operator/=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \label{class_matrix_a9ca39ec8f8c1c2286578d30287f1206d} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator/= (\begin{DoxyParamCaption}\item[{T}]{other}{}\end{DoxyParamCaption})}



Compound assignment operator (division). Divides this \doxylink{class_matrix}{Matrix} by a scalar. 

This operator performs element-\/wise division of this \doxylink{class_matrix}{Matrix} by a scalar value. Each element of this \doxylink{class_matrix}{Matrix} is divided by the scalar value. The scalar must not be zero, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The scalar value to divide this \doxylink{class_matrix}{Matrix}\textquotesingle{}s elements by. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_acc03dae842897a0901936ce03f1b75fe}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator=@{operator=}}
\index{operator=@{operator=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \label{class_matrix_acc03dae842897a0901936ce03f1b75fe} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Copy assignment operator. Copies the data from the given \doxylink{class_matrix}{Matrix} object. 

This operator replaces the current \doxylink{class_matrix}{Matrix}\textquotesingle{}s data with a copy of the data from the \textquotesingle{}other\textquotesingle{} \doxylink{class_matrix}{Matrix}.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object to copy data from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a5d9f981b3169188946781ec7edbabd26}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator=@{operator=}}
\index{operator=@{operator=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \label{class_matrix_a5d9f981b3169188946781ec7edbabd26} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&\&}]{other}{}\end{DoxyParamCaption})}



Move assignment operator. Moves the data from the given \doxylink{class_matrix}{Matrix} object. 

This operator "{}steals"{} the internal data from the \textquotesingle{}other\textquotesingle{} \doxylink{class_matrix}{Matrix}, leaving it in an empty state.


\begin{DoxyParams}{Parameters}
{\em other} & The \doxylink{class_matrix}{Matrix} object to move data from. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_ab72fda397e9af105ce7be2341fb25d9b}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!operator=@{operator=}}
\index{operator=@{operator=}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \label{class_matrix_ab72fda397e9af105ce7be2341fb25d9b} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \& \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::operator= (\begin{DoxyParamCaption}\item[{T}]{constant}{}\end{DoxyParamCaption})}



Constant assignment operator. Assigns all \doxylink{class_matrix}{Matrix} values to one constant. 


\begin{DoxyParams}{Parameters}
{\em constant} & The constant to be assigned. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the current object, to enable operator chaining. 
\end{DoxyReturn}
\Hypertarget{class_matrix_a93a24d7519f7158d4c6b50c92c6c2a0d}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!outer@{outer}}
\index{outer@{outer}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{outer()}{outer()}}
{\footnotesize\ttfamily \label{class_matrix_a93a24d7519f7158d4c6b50c92c6c2a0d} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::outer (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \&}]{other}{}\end{DoxyParamCaption})}



Calculates the outer product of two matrices. 

This function calculates the outer product of two 1D vectors. Both vectors must be column vectors, otherwise, an exception is thrown.


\begin{DoxyParams}{Parameters}
{\em other} & The matrix with which to calculate the outer product. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new \doxylink{class_matrix}{Matrix} object containing the result of the outer product. 
\end{DoxyReturn}
\Hypertarget{class_matrix_ad13471b4c864eec5335ad1eb70cb85f4}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!print@{print}}
\index{print@{print}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{print()}{print()}}
{\footnotesize\ttfamily \label{class_matrix_ad13471b4c864eec5335ad1eb70cb85f4} 
template$<$typename T $>$ \\
void \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::print (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Prints the matrix to the console. 

This function prints a textual representation of the matrix to the console. Each row is printed on a new line, and the elements are separated by spaces. \Hypertarget{class_matrix_afcee4f858a2f7dfde3dc28e6d1d32c59}\index{Matrix$<$ T $>$@{Matrix$<$ T $>$}!tr@{tr}}
\index{tr@{tr}!Matrix$<$ T $>$@{Matrix$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{tr()}{tr()}}
{\footnotesize\ttfamily \label{class_matrix_afcee4f858a2f7dfde3dc28e6d1d32c59} 
template$<$typename T $>$ \\
\mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$ \mbox{\hyperlink{class_matrix}{Matrix}}$<$ T $>$\+::tr (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Transposes the matrix. 

This function returns a new matrix which is the transpose of the current matrix.

\begin{DoxyReturn}{Returns}
A new \doxylink{class_matrix}{Matrix} object that is the transpose of the current matrix. 
\end{DoxyReturn}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/\mbox{\hyperlink{_matrix_8h}{Matrix.\+h}}\end{DoxyCompactItemize}
