This interface overloads the solve
interface from stdlib_linalg
for solving a linear system where is a
Circulant
matrix. It also enables to solve a linear system with
multiple right-hand sides.
x = solve(A, b)
A
: Matrix of Circulant
type.
It is an intent(in)
argument.
b
: Rank-1 or rank-2 array defining the right-hand side(s).
It is an intent(in)
argument.
x
: Solution of the linear system.
It has the same type and shape as b
.
Note
Linear systems characterized by a circulant matrix can be solved
efficiently in operations using the
Fast Fourier Transform algorithm available via fftpack
.
Solve the linear system , where A
is Circulant
and
B
is a rank-2 array. The solution matrix X
has the same
dimension and kind as the right-hand side matrix B
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(Circulant), | intent(in) | :: | A |
Coefficient matrix. |
||
real(kind=dp), | intent(in) | :: | B(:,:) |
Right-hand side vectors. |
Solution vectors.
Solve the linear system where is Circulant
and
b
a standard rank-1 array. The solution vector x
has the same
dimension and kind as the right-hand side vector b
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(Circulant), | intent(in) | :: | A |
Coefficient matrix. |
||
real(kind=dp), | intent(in) | :: | b(:) |
Right-hand side vector. |
Solution vector.