Commit 17c83e93 authored by PRUVOST Florent's avatar PRUVOST Florent

organize linear algebra routines

parent d88fe89e
# This file is part of the Chameleon User's Guide.
# Copyright (C) 2017 Inria
# See the file ../users_guide.org for copying conditions.
#+OPTIONS: tex:t
** Linking an external application with Chameleon libraries
Compilation and link with Chameleon libraries have been tested with
......@@ -145,8 +146,8 @@
* POSV: solve linear systems with symmetric positive-definite matrix
* GESV_INCPIV: solve linear systems with general matrix
* GELS: linear least squares with general matrix
* GELS_HQR:
* GELS_SYSTOLIC:
* GELS_HQR: gels with hierarchical tree
* GELS_SYSTOLIC: gels with systolic tree
* *timing*: contains timing drivers to assess performances of
Chameleon routines. There are two sets of executables, those who
do not use the tile interface and those who do (with _tile in the
......@@ -207,10 +208,10 @@
* GESV_INCPIV: solve linear system for a general matrix using the tile LU algorithm with partial tile pivoting with row interchanges matrix
* GEQRF: QR factorization of a general matrix
* GELQF: LQ factorization of a general matrix
* QEQRF_HQR
* QEQRF_HQR: GEQRF with hierarchical tree
* QEQRS: solve linear systems using a QR factorization
* GELS: solves overdetermined or underdetermined linear systems involving a general matrix using the QR or the LQ factorization
* GESVD
* GESVD: general matrix singular value decomposition
*** Execution trace using StarPU
<<sec:trace>>
......@@ -744,98 +745,109 @@
with the Chameleon library. For details about these functions
please refer to the doxygen documentation. /name/ can be one of the
following:
* geadd: matrix matrix addition
* gelqf: LQ factorization
* gelqf_param: gelqf with hqr
* gelqs: computes a minimum-norm solution min || A*X - B || using
the LQ factorization
* gelqs_param: gelqs with hqr
* gels: solves overdetermined or underdetermined linear systems
using LQ or QR
* gels_param: gels with hqr
* gemm: matrix matrix multiply and addition
* geqrf: QR factorization
* geqrf_param: geqrf with hqr
* geqrs: computes a minimum-norm solution min || A*X - B || using
the RQ factorization
* geqrs_param: geqrs with hqr
* gesv_incpiv: linear systems solving with LU factorization and
partial pivoting
* gesv_nopiv: linear systems solving with LU factorization and
without pivoting
* gesvd: singular value decomposition
* getrf_incpiv: LU factorization with partial pivoting
* getrf_nopiv: LU factorization without pivoting
* getrs_incpiv: linear systems solving using existing LU
factorization with partial pivoting
* getrs_nopiv: linear systems solving using existing LU
factorization without pivoting
* hemm: gemm with A Hermitian
* herk: rank k operations with A Hermitian
* her2k: rank 2k operations with A Hermitian
* heevd: eigenvalues/eigenvectors computation with A Hermitian
* hetrd: reduces a complex Hermitian matrix A to real symmetric
tridiagonal form S
* lacpy: copy matrix into another
* lange: computes norm of a matrix (Max, One, Inf, Frobenius)
* lanhe: lange with A Hermitian
* lansy: lange with A symmetric
* lantr: lange with A triangular
* lascal: scales a matrix
* laset: copy the triangular part of a matrix into another, set a
value for the diagonal and off-diagonal part
* lauum: computes the product U * U' or L' * L, where the
triangular factor U or L is stored in the upper or lower
triangular part of the array A
* plghe: generates a random Hermitian matrix
* plgsy: generates a random symmetrix matrix
* plrnt: generates a random matrix
* posv: linear systems solving using Cholesky factorization
* potrf: Cholesky factorization
* potri: computes the inverse of a complex Hermitian positive
definite matrix A using the Cholesky factorization A
* potrimm:
* potrs: linear systems solving using existing Cholesky
factorization
* symm: gemm with A symmetric
* syrk: rank k operations with A symmetric
* syr2k: rank 2k with A symmetric
* sysv: linear systems solving using Cholesky decomposition with
A symmetric
* sytrf: Cholesky decomposition with A symmetric
* sytrs: linear systems solving using existing Cholesky
decomposition with A symmetric
* tpgqrt: generates a partial Q matrix formed with a blocked QR
factorization of a "triangular-pentagonal" matrix C, which is
composed of a unused triangular block and a pentagonal block V,
using the compact representation for Q. See tpqrt to
generate V
* tpqrt: computes a blocked QR factorization of a
"triangular-pentagonal" matrix C, which is composed of a
triangular block A and a pentagonal block B, using the compact
representation for Q
* tradd: trapezoidal matrices addition
* trmm: gemm with A triangular
* trsm: computes triangular solve
* trsmpl: performs the forward substitution step of solving a
system of linear equations after the tile LU factorization of
the matrix
* trsmrv:
* trtri: computes the inverse of a complex upper or lower triangular matrix A
* unglq: generates an M-by-N matrix Q with orthonormal rows,
which is defined as the first M rows of a product of the
elementary reflectors returned by MORSE_zgelqf
* unglq_param: unglq with hqr
* ungqr: generates an M-by-N matrix Q with orthonormal columns,
which is defined as the first N columns of a product of the
elementary reflectors returned by MORSE_zgeqrf
* ungqr_param: ungqr with hqr
* unmlq: overwrites C with Q*C or C*Q or equivalent operations
with transposition on conjugate on C (see doxygen
documentation)
* unmlq_param: unmlq with hqr
* unmqr: similar to unmlq (see doxygen documentation)
* unmqr_param: unmqr with hqr
* *BLAS 2/3 routines*
* gemm: matrix matrix multiply and addition
* hemm: gemm with A Hermitian
* herk: rank k operations with A Hermitian
* her2k: rank 2k operations with A Hermitian
* lauum: computes the product U * U' or L' * L, where the
triangular factor U or L is stored in the upper or lower
triangular part of the array A
* symm: gemm with A symmetric
* syrk: rank k operations with A symmetric
* syr2k: rank 2k with A symmetric
* trmm: gemm with A triangular
* *Triangular solving*
* trsm: computes triangular solve
* trsmpl: performs the forward substitution step of solving a
system of linear equations after the tile LU factorization of
the matrix
* trsmrv:
* trtri: computes the inverse of a complex upper or lower triangular matrix A
* *$LL^T$ (Cholesky) routines*
* posv: linear systems solving using Cholesky factorization
* potrf: Cholesky factorization
* potri: computes the inverse of a complex Hermitian positive
definite matrix A using the Cholesky factorization A
* potrimm:
* potrs: linear systems solving using existing Cholesky
factorization
* sysv: linear systems solving using Cholesky decomposition with
A symmetric
* sytrf: Cholesky decomposition with A symmetric
* sytrs: linear systems solving using existing Cholesky
decomposition with A symmetric
* *$LU$ routines*
* gesv_incpiv: linear systems solving with LU factorization and
partial pivoting
* gesv_nopiv: linear systems solving with LU factorization and
without pivoting
* getrf_incpiv: LU factorization with partial pivoting
* getrf_nopiv: LU factorization without pivoting
* getrs_incpiv: linear systems solving using existing LU
factorization with partial pivoting
* getrs_nopiv: linear systems solving using existing LU
factorization without pivoting
* *$QR/LQ$ routines*
* gelqf: LQ factorization
* gelqf_param: gelqf with hqr
* gelqs: computes a minimum-norm solution min || A*X - B || using
the LQ factorization
* gelqs_param: gelqs with hqr
* gels: Uses QR or LQ factorization to solve a overdetermined or
underdetermined linear system with full rank matrix
* gels_param: gels with hqr
* geqrf: QR factorization
* geqrf_param: geqrf with hqr
* geqrs: computes a minimum-norm solution min || A*X - B || using
the RQ factorization
* hetrd: reduces a complex Hermitian matrix A to real symmetric
tridiagonal form S
* geqrs_param: geqrs with hqr
* tpgqrt: generates a partial Q matrix formed with a blocked QR
factorization of a "triangular-pentagonal" matrix C, which is
composed of a unused triangular block and a pentagonal block V,
using the compact representation for Q. See tpqrt to
generate V
* tpqrt: computes a blocked QR factorization of a
"triangular-pentagonal" matrix C, which is composed of a
triangular block A and a pentagonal block B, using the compact
representation for Q
* unglq: generates an M-by-N matrix Q with orthonormal rows,
which is defined as the first M rows of a product of the
elementary reflectors returned by MORSE_zgelqf
* unglq_param: unglq with hqr
* ungqr: generates an M-by-N matrix Q with orthonormal columns,
which is defined as the first N columns of a product of the
elementary reflectors returned by MORSE_zgeqrf
* ungqr_param: ungqr with hqr
* unmlq: overwrites C with Q*C or C*Q or equivalent operations
with transposition on conjugate on C (see doxygen
documentation)
* unmlq_param: unmlq with hqr
* unmqr: similar to unmlq (see doxygen documentation)
* unmqr_param: unmqr with hqr
* *EVD/SVD*
* gesvd: singular value decomposition
* heevd: eigenvalues/eigenvectors computation with A Hermitian
* *Extra routines*
* *Norms*
* lange: computes norm of a matrix (Max, One, Inf, Frobenius)
* lanhe: lange with A Hermitian
* lansy: lange with A symmetric
* lantr: lange with A triangular
* *Random matrices generation*
* plghe: generates a random Hermitian matrix
* plgsy: generates a random symmetrix matrix
* plrnt: generates a random matrix
* *Others*
* geadd: general matrix matrix addition
* lacpy: copy matrix into another
* lascal: scales a matrix
* laset: copy the triangular part of a matrix into another, set a
value for the diagonal and off-diagonal part
* tradd: trapezoidal matrices addition
**** Options routines
Enable MORSE feature.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment