Commit 9726449439e0e71bc27edbd07e5fd0c84f65efcb
1 parent
b40f93a8d7
Exists in
master
and in
3 other branches
git-svn-id: https://lxsd.femto-st.fr/svn/fvn@29 b657c933-2333-4658-acf2-d3c7c2708721
Showing 2 changed files with 17 additions and 17 deletions Side-by-side Diff
doc/fvn.pdf
No preview for this file type
doc/fvn.tex
| ... | ... | @@ -49,9 +49,9 @@ |
| 49 | 49 | \section{Naming scheme and convention} |
| 50 | 50 | The naming scheme of the routines is as follow : |
| 51 | 51 | \begin{verbatim} |
| 52 | - fvn_x_name() | |
| 52 | + fvn_*_name() | |
| 53 | 53 | \end{verbatim} |
| 54 | -where x can be s,d,c or z. | |
| 54 | +where * can be s,d,c or z. | |
| 55 | 55 | \begin{itemize} |
| 56 | 56 | \item s is for single precision real (real,real*4,real(4),real(kind=4)) |
| 57 | 57 | \item d for double precision real (double precision,real*8,real(8),real(kind=8)) |
| ... | ... | @@ -64,7 +64,7 @@ |
| 64 | 64 | The linear algebra routines of fvn are an interface to lapack, which make it easier to use. |
| 65 | 65 | \subsection{Matrix inversion} |
| 66 | 66 | \begin{verbatim} |
| 67 | -call fvn_x_matinv(d,a,inva,status) | |
| 67 | +call fvn_*_matinv(d,a,inva,status) (*=s,d,c,z) | |
| 68 | 68 | \end{verbatim} |
| 69 | 69 | \begin{itemize} |
| 70 | 70 | \item d (in) is an integer equal to the matrix rank |
| ... | ... | @@ -98,7 +98,7 @@ |
| 98 | 98 | |
| 99 | 99 | \subsection{Matrix determinants} |
| 100 | 100 | \begin{verbatim} |
| 101 | -det=fvn_x_det(d,a,status) | |
| 101 | +det=fvn_*_det(d,a,status) (*=s,d,c,z) | |
| 102 | 102 | \end{verbatim} |
| 103 | 103 | \begin{itemize} |
| 104 | 104 | \item d (in) is an integer equal to the matrix rank |
| ... | ... | @@ -131,7 +131,7 @@ |
| 131 | 131 | |
| 132 | 132 | \subsection{Matrix condition} |
| 133 | 133 | \begin{verbatim} |
| 134 | -call fvn_x_matcon(d,a,rcond,status) | |
| 134 | +call fvn_*_matcon(d,a,rcond,status) (*=s,d,c,z) | |
| 135 | 135 | \end{verbatim} |
| 136 | 136 | \begin{itemize} |
| 137 | 137 | \item d (in) is an integer equal to the matrix rank |
| ... | ... | @@ -176,7 +176,7 @@ |
| 176 | 176 | |
| 177 | 177 | \subsection{Eigenvalues/Eigenvectors} |
| 178 | 178 | \begin{verbatim} |
| 179 | -call fvn_x_matev(d,a,evala,eveca,status) | |
| 179 | +call fvn_*_matev(d,a,evala,eveca,status) (*=s,d,c,z) | |
| 180 | 180 | \end{verbatim} |
| 181 | 181 | \begin{itemize} |
| 182 | 182 | \item d (in) is an integer equal to the matrix rank |
| ... | ... | @@ -223,7 +223,7 @@ |
| 223 | 223 | The provided routines solves the equation $Ax=B$ where A is sparse and given in its triplet form. |
| 224 | 224 | |
| 225 | 225 | \begin{verbatim} |
| 226 | -call fvn_*_sparse_solve(n,nz,T,Ti,Tj,B,x,status) where * is either zl, zi, dl or di | |
| 226 | +call fvn_*_sparse_solve(n,nz,T,Ti,Tj,B,x,status) (*=zl,zi,dl,di) | |
| 227 | 227 | \end{verbatim} |
| 228 | 228 | \begin{itemize} |
| 229 | 229 | \item For this family of subroutine the two letters (zl,zi,dl,di) decribe the arguments's type. z is for complex(8), d for real(8), l for integer(8) and i for integer(4) |
| ... | ... | @@ -290,7 +290,7 @@ |
| 290 | 290 | |
| 291 | 291 | \subsection{Identity matrix} |
| 292 | 292 | \begin{verbatim} |
| 293 | - I=fvn_x_ident(n) | |
| 293 | + I=fvn_*_ident(n) (*=s,d,c,z) | |
| 294 | 294 | \end{verbatim} |
| 295 | 295 | \begin{itemize} |
| 296 | 296 | \item n (in) is an integer equal to the matrix rank |
| ... | ... | @@ -305,7 +305,7 @@ |
| 305 | 305 | fvn provide function for interpolating values of a tabulated function of 1, 2 or 3 variables, for both single and double precision. |
| 306 | 306 | \subsubsection{One variable function} |
| 307 | 307 | \begin{verbatim} |
| 308 | - value=fvn_x_quad_interpol(x,n,xdata,ydata) | |
| 308 | + value=fvn_*_quad_interpol(x,n,xdata,ydata) (*=s,d) | |
| 309 | 309 | \end{verbatim} |
| 310 | 310 | \begin{itemize} |
| 311 | 311 | \item x is the real where we want to evaluate the function |
| ... | ... | @@ -356,7 +356,7 @@ |
| 356 | 356 | |
| 357 | 357 | \subsubsection{Two variables function} |
| 358 | 358 | \begin{verbatim} |
| 359 | -value=fvn_x_quad_2d_interpol(x,y,nx,xdata,ny,ydata,zdata) | |
| 359 | +value=fvn_*_quad_2d_interpol(x,y,nx,xdata,ny,ydata,zdata) (*=s,d) | |
| 360 | 360 | \end{verbatim} |
| 361 | 361 | \begin{itemize} |
| 362 | 362 | \item x,y are the real coordinates where we want to evaluate the function |
| ... | ... | @@ -415,7 +415,7 @@ |
| 415 | 415 | |
| 416 | 416 | \subsubsection{Three variables function} |
| 417 | 417 | \begin{verbatim} |
| 418 | -value=fvn_x_quad_3d_interpol(x,y,z,nx,xdata,ny,ydata,nz,zdata,tdata) | |
| 418 | +value=fvn_*_quad_3d_interpol(x,y,z,nx,xdata,ny,ydata,nz,zdata,tdata) (*=s,d) | |
| 419 | 419 | \end{verbatim} |
| 420 | 420 | \begin{itemize} |
| 421 | 421 | \item x,y,z are the real coordinates where we want to evaluate the function |
| ... | ... | @@ -481,7 +481,7 @@ |
| 481 | 481 | \subsubsection{Utility procedure} |
| 482 | 482 | fvn provides a simple utility procedure to locate the interval in which a value is located in an increasingly ordered array. |
| 483 | 483 | \begin{verbatim} |
| 484 | -call fvn_x_find_interval(x,i,xdata,n) | |
| 484 | +call fvn_*_find_interval(x,i,xdata,n) (*=s,d) | |
| 485 | 485 | \end{verbatim} |
| 486 | 486 | \begin{itemize} |
| 487 | 487 | \item x (in) the real value to locate |
| ... | ... | @@ -497,7 +497,7 @@ |
| 497 | 497 | fvn provides Akima spline interpolation and evaluation for both single and double precision real. |
| 498 | 498 | \subsubsection{Interpolation} |
| 499 | 499 | \begin{verbatim} |
| 500 | -call fvn_x_akima(n,x,y,br,co) | |
| 500 | +call fvn_*_akima(n,x,y,br,co) (*=s,d) | |
| 501 | 501 | \end{verbatim} |
| 502 | 502 | \begin{itemize} |
| 503 | 503 | \item n (in) is an integer equal to the number of points |
| ... | ... | @@ -508,7 +508,7 @@ |
| 508 | 508 | |
| 509 | 509 | \subsubsection{Evaluation} |
| 510 | 510 | \begin{verbatim} |
| 511 | -y=fvn_x_spline_eval(x,n,br,co) | |
| 511 | +y=fvn_*_spline_eval(x,n,br,co) (*=s,d) | |
| 512 | 512 | \end{verbatim} |
| 513 | 513 | \begin{itemize} |
| 514 | 514 | \item x (in) is the point where we want to evaluate |
| ... | ... | @@ -583,7 +583,7 @@ |
| 583 | 583 | fvn provide a function to find a least square polynomial of a given degree, for real in single or double precision. It is performed using Lapack subroutine sgelss (dgelss), which solve this problem using singular value decomposition. |
| 584 | 584 | |
| 585 | 585 | \begin{verbatim} |
| 586 | -call fvn_x_lspoly(np,x,y,deg,coeff,status) | |
| 586 | +call fvn_*_lspoly(np,x,y,deg,coeff,status) (*=s,d) | |
| 587 | 587 | \end{verbatim} |
| 588 | 588 | \begin{itemize} |
| 589 | 589 | \item np (in) is an integer equal to the number of points |
| ... | ... | @@ -880,7 +880,7 @@ |
| 880 | 880 | \begin{itemize} |
| 881 | 881 | \item x (in) is a real(kind=8) |
| 882 | 882 | \end{itemize} |
| 883 | -This function return the natural logarithm of gamma(x) : $ln(\Gamma(x)$ | |
| 883 | +This function return the natural logarithm of gamma(x) : $ln(\Gamma(x))$ | |
| 884 | 884 | |
| 885 | 885 | \subsection{factorial} |
| 886 | 886 | Only double precision real |
| ... | ... | @@ -895,7 +895,7 @@ |
| 895 | 895 | \subsection{Chebyshev series evaluation} |
| 896 | 896 | Single and double precision real. |
| 897 | 897 | \begin{verbatim} |
| 898 | -s=fvn_x_csevl(x,a,n) | |
| 898 | +s=fvn_*_csevl(x,a,n) (*=s,d) | |
| 899 | 899 | \end{verbatim} |
| 900 | 900 | \begin{itemize} |
| 901 | 901 | \item x is a real |