|
FYS3150: Project 2
|
Function prototypes for creating tridiagonal matrices. More...
#include <armadillo>Go to the source code of this file.
Functions | |
| arma::mat | create_tridiagonal (const arma::vec &a, const arma::vec &d, const arma::vec &e) |
| Create a tridiagonal matrix. | |
| arma::mat | create_tridiagonal (int n, double a, double d, double e) |
| Create a tridiagonal matrix. | |
| arma::mat | create_symmetric_tridiagonal (int n, double a, double d) |
| Create a symmetric tridiagonal matrix. | |
| double | max_offdiag_symmetric (arma::mat &A, int &k, int &l) |
| Find the off-diagonal element with the largest absolute value. | |
Function prototypes for creating tridiagonal matrices.
| arma::mat create_symmetric_tridiagonal | ( | int | n, |
| double | a, | ||
| double | d | ||
| ) |
Create a symmetric tridiagonal matrix.
create_symmetric_tridiagonal creates a symmetric tridiagonal matrix by calling create_tridiagonal with the same signature for the off-diagonals.
| n | The dimensions of the tridiagonal matrix |
| a | The signature for the off diagonals |
| d | The signature for the main diagonal |
| arma::mat create_tridiagonal | ( | const arma::vec & | a, |
| const arma::vec & | d, | ||
| const arma::vec & | e | ||
| ) |
Create a tridiagonal matrix.
create_tridiagonal creates a tridiagonal matrix by first creating a matrix, filled with zeros, of size NxN where N is the size of the main diagonal matrix. Then it will fill all the values from the vector parameters into the matrix and return it.
| a | Vector for the lower diagonal of size N-1 |
| d | Vector for the main diagonal of size N |
| e | Vector for the upper diagonal of size N-1 |
| arma::mat create_tridiagonal | ( | int | n, |
| double | a, | ||
| double | d, | ||
| double | e | ||
| ) |
Create a tridiagonal matrix.
This is an overload that takes doubles for the diagonals instead of vectors. It will create 3 vectors that are filled with the signature provided in the arguments, and then call create_tridiagonal with the vectors as the arguments.
| n | The dimensions of the tridiagonal matrix |
| a | The signature for the lower diagonal |
| d | The signature for the main diagonal |
| e | The signature for the upper diagonal |
| double max_offdiag_symmetric | ( | arma::mat & | A, |
| int & | k, | ||
| int & | l | ||
| ) |
Find the off-diagonal element with the largest absolute value.
max_offdiag_symmetric find the element with the largest absolute value that isn't in the diagonal. Since this function assumes that the matrix that is given is symmetrical, we only need to loop through the upper diagonals of the matrix.
| A | Symmetric matrix |
| k | Variable to store the row of the return value |
| l | Variable to store the column of the return value |