mplinsolve
- mplinsolve(A, b, solver, opt)
mplinsolve()- Solve A * x = b using specified solver.x = mplinsolve(A, b) x = mplinsolve(A, b, solver) x = mplinsolve(A, b, solver, opt) x = mplinsolve(factors, b, ...) factors = mplinsolve(A) factors = mplinsolve(A, [], ...) [x, factors] = mplinsolve(A, b, 'lu' ...)
Solves the linear system of equations
A * x == bforxusing the selected solver.- Inputs:
A (double) – sparse matrix
factors (struct) – contains (e.g. LU) factors of
Afrom previous call tomplinsolve(), with atypefield to identify which of the following sets of additional fields are included:typeadd’l fields
description
1
L, U, p, qa3 output Gilbert-Peierls, permutation vectors
2
L, U, P, Qa3 output Gilbert-Peierls, permutation matrices
3
L, U, p, q4 output UMFPACK, permutation vectors
4
L, U, P, Q4 output UMFPACK, permutation matrices
5
L, U, p, q, Rsame as 3, with row scaling
6
L, U, P, Q, Rsame as 4, with row scaling
b (double) – RHS vector (or full matrix)
solver (char array) – (optional, default
'') selected linear system solver''– use default solver, currently this is always the built-in backslash operator'\'– built-in backslash operator'LU'– use explicit LU decomposition and back substitutionThe following are also provided as short-cuts, with less overhead and thus better performance on small systems, as alternatives for
'LU'with the following options:solveropt.lu.noutopt.lu.vecopt.lu.thresh'LU3'3
1
1.0
'LU3a'3
1
'LU4'4
1
'LU5'5
1
'LU3m'3
0
1.0
'LU3am'3
0
'LU4m'4
0
'LU5m'5
0
'PARDISO'– PARDISO
opt (struct) – options for certain solvers (e.g.
lu()and PARDISO), with fields:lu: struct of options to determine form of call tolu()solver, with the following possible fields (default value in parens):nout(4) - number of output args for call tolu(), UMFPACK is used for 4 or 5 output args, Gilbert-Peierls algorithm with AMD ordering for 3 output args.vec(1) - use permutation vectors instead of matrices (permutation matrices used by default for MATLAB < 7.3)thresh- pivot threshold, seehelp lufor details
pardiso: struct of PARDISO options (default shown in parens), see PARDISO documentation for detailsverbose(0) - true or falsemtype(11, i.e. real and nonsymmetric) - matrix typesolver(0, i.e. sparse direct) - solver methodiparm([]) - \(n \by 2\) matrix of integer parameters 1st, 2nd columns are index, value of parameter respectivelydparm([]) - \(n \by 2\) matrix of double parameters 1st, 2nd columns are index, value of parameter respectively
tr(0) : if true, solve transposed systemA' * x = b
- Outputs:
x – solution vector (or matrix) satisfying
A * x == bfactors – see description under Inputs