Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
matrix_math Module Reference

Functions/Subroutines

subroutine, public matrix_rzero (a, n)
 Zero a real matrix \( a = 0 \).
 
subroutine, public matrix_rone (a, n)
 Set all elements to one.
 
subroutine, public matrix_copy (a, b, n)
 Copy a matrix \( a = b \).
 
subroutine, public matrix_cmult (a, c, n)
 Multiplication by constant c \( a = c \cdot a \).
 
subroutine, public matrix_cadd (a, s, n)
 Add a scalar to matrix \( a_i = a_i + s \).
 
subroutine, public matrix_cfill (a, c, n)
 Set all elements to a constant c \( a = c \).
 
subroutine, public matrix_invcol1 (a, n)
 Invert elements of a matrix \( a_i = 1 / a_i \).
 
subroutine, public matrix_invcol3 (a, b, c, n)
 Element division of two matrices \( a = b / c \).
 
subroutine, public matrix_add2 (a, b, n)
 Vector addition \( a = a + b \).
 
subroutine, public matrix_add3 (a, b, c, n)
 Vector addition \( a = b + c \).
 
subroutine matrix_add4 (a, b, c, d, n)
 Vector addition \( a = b + c + d \).
 
subroutine, public matrix_sub2 (a, b, n)
 Vector substraction \( a = a - b \).
 
subroutine, public matrix_sub3 (a, b, c, n)
 Vector subtraction \( a = b - c \).
 
subroutine, public matrix_add2s1 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = c_1 a + b \) (multiplication on first argument)
 
subroutine, public matrix_add2s2 (a, b, c1, n)
 Vector addition with scalar multiplication \( a = a + c_1 b \) (multiplication on second argument)
 
subroutine, public matrix_addsqr2s2 (a, b, c1, n)
 Returns \( a = a + c1 * (b * b )\).
 
subroutine, public matrix_cmult2 (a, b, c, n)
 Multiplication by constant c \( a = c \cdot b \).
 
subroutine, public matrix_invcol2 (a, b, n)
 Vector division \( a = a / b \).
 
subroutine, public matrix_col2 (a, b, n)
 Vector multiplication \( a = a \cdot b \).
 
subroutine, public matrix_col3 (a, b, c, n)
 Vector multiplication with 3 vectors \( a = b \cdot c \).
 
subroutine, public matrix_subcol3 (a, b, c, n)
 Returns \( a = a - b*c \).
 
subroutine, public matrix_add3s2 (a, b, c, c1, c2, n)
 Returns \( a = c1 * b + c2 * c \).
 
subroutine, public matrix_addcol3 (a, b, c, n)
 Returns \( a = a + b*c \).
 
subroutine, public matrix_addcol4 (a, b, c, d, n)
 Returns \( a = a + b*c*d \).
 
real(kind=rp) function, public matrix_glsum (a, n)
 Global sum of all elements in a matrix \( sum = \sum_i a_i \).
 
real(kind=rp) function, public matrix_glsc2 (a, b, n)
 Global inner product of two matrices \( ip = \sum_i a_i * b_i \).
 
real(kind=rp) function, public matrix_glsc3 (a, b, c, n)
 Global inner product of three matrices \( ip = \sum_i a_i * b_i * c_i \).
 
real(kind=rp) function, public matrix_glsubnorm (a, b, n)
 Global subtracted norm of two matrices \( norm = \sqrt(\sum_i (a_i - b_i)^2) \).
 

Function/Subroutine Documentation

◆ matrix_add2()

subroutine, public matrix_math::matrix_add2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 253 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_add2s1()

subroutine, public matrix_math::matrix_add2s1 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
real(kind=rp), intent(in c1,
integer, intent(in), optional  n 
)

Definition at line 361 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_add2s2()

subroutine, public matrix_math::matrix_add2s2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
real(kind=rp), intent(in c1,
integer, intent(in), optional  n 
)

Definition at line 384 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_add3()

subroutine, public matrix_math::matrix_add3 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 274 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_add3s2()

subroutine, public matrix_math::matrix_add3s2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
real(kind=rp), intent(in c1,
real(kind=rp), intent(in c2,
integer, intent(in), optional  n 
)

Definition at line 537 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_add4()

subroutine matrix_math::matrix_add4 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
type(matrix_t), intent(in d,
integer, intent(in), optional  n 
)
private

Definition at line 295 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_addcol3()

subroutine, public matrix_math::matrix_addcol3 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 560 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_addcol4()

subroutine, public matrix_math::matrix_addcol4 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
type(matrix_t), intent(in d,
integer, intent(in), optional  n 
)

Definition at line 582 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_addsqr2s2()

subroutine, public matrix_math::matrix_addsqr2s2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
real(kind=rp), intent(in c1,
integer, intent(in), optional  n 
)

Definition at line 406 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_cadd()

subroutine, public matrix_math::matrix_cadd ( type(matrix_t), intent(inout a,
real(kind=rp), intent(in s,
integer, intent(in), optional  n 
)

Definition at line 171 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_cfill()

subroutine, public matrix_math::matrix_cfill ( type(matrix_t), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 191 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_cmult()

subroutine, public matrix_math::matrix_cmult ( type(matrix_t), intent(inout a,
real(kind=rp), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 151 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_cmult2()

subroutine, public matrix_math::matrix_cmult2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
real(kind=rp), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 428 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_col2()

subroutine, public matrix_math::matrix_col2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 472 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_col3()

subroutine, public matrix_math::matrix_col3 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 493 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_copy()

subroutine, public matrix_math::matrix_copy ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 131 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_glsc2()

real(kind=rp) function, public matrix_math::matrix_glsc2 ( type(matrix_t), intent(in a,
type(matrix_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 626 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_glsc3()

real(kind=rp) function, public matrix_math::matrix_glsc3 ( type(matrix_t), intent(in a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 647 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_glsubnorm()

real(kind=rp) function, public matrix_math::matrix_glsubnorm ( type(matrix_t), intent(in a,
type(matrix_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 669 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_glsum()

real(kind=rp) function, public matrix_math::matrix_glsum ( type(matrix_t), intent(in a,
integer, intent(in), optional  n 
)

Definition at line 605 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_invcol1()

subroutine, public matrix_math::matrix_invcol1 ( type(matrix_t), intent(inout a,
integer, intent(in), optional  n 
)

Definition at line 211 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_invcol2()

subroutine, public matrix_math::matrix_invcol2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 450 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_invcol3()

subroutine, public matrix_math::matrix_invcol3 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 231 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_rone()

subroutine, public matrix_math::matrix_rone ( type(matrix_t), intent(inout a,
integer, intent(in), optional  n 
)

Definition at line 112 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_rzero()

subroutine, public matrix_math::matrix_rzero ( type(matrix_t), intent(inout a,
integer, intent(in), optional  n 
)

Definition at line 93 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_sub2()

subroutine, public matrix_math::matrix_sub2 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
integer, intent(in), optional  n 
)

Definition at line 316 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_sub3()

subroutine, public matrix_math::matrix_sub3 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 337 of file matrix_math.f90.

Here is the call graph for this function:

◆ matrix_subcol3()

subroutine, public matrix_math::matrix_subcol3 ( type(matrix_t), intent(inout a,
type(matrix_t), intent(in b,
type(matrix_t), intent(in c,
integer, intent(in), optional  n 
)

Definition at line 515 of file matrix_math.f90.

Here is the call graph for this function: