MyraMath
|
Implementations of classical stationary iterations: jacobi(), seidel(), sor() and ssor() More...
Go to the source code of this file.
Classes | |
class | myra::CSparseMatrixRange< Number > |
Represents a const SparseMatrixRange. More... | |
class | myra::CVectorRange< Number > |
Represents a const VectorRange. More... | |
class | myra::VectorRange< Number > |
Represents a mutable VectorRange. More... | |
class | myra::stationary_output< Precision > |
Common return type for all these methods. More... | |
Functions | |
stationary_output< NumberS > | myra::jacobi (const CSparseMatrixRange< NumberS > &A, const CVectorRange< NumberS > &b, const VectorRange< NumberS > &x, NumberS tolerance=1.0e-6f, int iterations=100) |
Solves A*x=b using Jacobi iteration. Vector x contains an initial guess on input, overwritten with the solution on output. | |
stationary_output< NumberD > | myra::jacobi (const CSparseMatrixRange< NumberD > &A, const CVectorRange< NumberD > &b, const VectorRange< NumberD > &x, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::jacobi (const CSparseMatrixRange< NumberC > &A, const CVectorRange< NumberC > &b, const VectorRange< NumberC > &x, NumberS tolerance, int iterations) |
stationary_output< NumberD > | myra::jacobi (const CSparseMatrixRange< NumberZ > &A, const CVectorRange< NumberZ > &b, const VectorRange< NumberZ > &x, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::seidel (const CSparseMatrixRange< NumberS > &At, const CVectorRange< NumberS > &b, const VectorRange< NumberS > &x, NumberS tolerance=1.0e-6f, int iterations=100) |
Solves A*x=b using Seidel iteration. Vector x contains an initial guess on input, overwritten with the solution on output. | |
stationary_output< NumberD > | myra::seidel (const CSparseMatrixRange< NumberD > &At, const CVectorRange< NumberD > &b, const VectorRange< NumberD > &x, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::seidel (const CSparseMatrixRange< NumberC > &At, const CVectorRange< NumberC > &b, const VectorRange< NumberC > &x, NumberS tolerance, int iterations) |
stationary_output< NumberD > | myra::seidel (const CSparseMatrixRange< NumberZ > &At, const CVectorRange< NumberZ > &b, const VectorRange< NumberZ > &x, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::sseidel (const CSparseMatrixRange< NumberS > &At, const CVectorRange< NumberS > &b, const VectorRange< NumberS > &x, NumberS tolerance, int iterations) |
stationary_output< NumberD > | myra::sseidel (const CSparseMatrixRange< NumberD > &At, const CVectorRange< NumberD > &b, const VectorRange< NumberD > &x, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::sseidel (const CSparseMatrixRange< NumberC > &At, const CVectorRange< NumberC > &b, const VectorRange< NumberC > &x, NumberS tolerance, int iterations) |
stationary_output< NumberD > | myra::sseidel (const CSparseMatrixRange< NumberZ > &At, const CVectorRange< NumberZ > &b, const VectorRange< NumberZ > &x, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::sor (const CSparseMatrixRange< NumberS > &At, const CVectorRange< NumberS > &b, const VectorRange< NumberS > &x, NumberS omega=1.5f, NumberS tolerance=1.0e-6f, int iterations=100) |
Solves A*x=b using successive over-relaxation (SOR). Vector x contains an initial guess on input, overwritten with the solution on output. | |
stationary_output< NumberD > | myra::sor (const CSparseMatrixRange< NumberD > &At, const CVectorRange< NumberD > &b, const VectorRange< NumberD > &x, NumberD omega, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::sor (const CSparseMatrixRange< NumberC > &At, const CVectorRange< NumberC > &b, const VectorRange< NumberC > &x, NumberS omega, NumberS tolerance, int iterations) |
stationary_output< NumberD > | myra::sor (const CSparseMatrixRange< NumberZ > &At, const CVectorRange< NumberZ > &b, const VectorRange< NumberZ > &x, NumberD omega, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::ssor (const CSparseMatrixRange< NumberS > &At, const CVectorRange< NumberS > &b, const VectorRange< NumberS > &x, NumberS omega=1.5f, NumberS tolerance=1.0e-6f, int iterations=100) |
Solves A*x=b using symmetric SOR. Vector x contains an initial guess on input, overwritten with the solution on output. | |
stationary_output< NumberD > | myra::ssor (const CSparseMatrixRange< NumberD > &At, const CVectorRange< NumberD > &b, const VectorRange< NumberD > &x, NumberD omega, NumberD tolerance, int iterations) |
stationary_output< NumberS > | myra::ssor (const CSparseMatrixRange< NumberC > &At, const CVectorRange< NumberC > &b, const VectorRange< NumberC > &x, NumberS omega, NumberS tolerance, int iterations) |
stationary_output< NumberD > | myra::ssor (const CSparseMatrixRange< NumberZ > &At, const CVectorRange< NumberZ > &b, const VectorRange< NumberZ > &x, NumberD omega, NumberD tolerance, int iterations) |
Implementations of classical stationary iterations: jacobi(), seidel(), sor() and ssor()