Collection of C-style matrix functions for the most time-critical applications. More...
#include <vnl_fastops.h>
Static Public Member Functions | |
| static void | AtA (vnl_matrix< double > &out, const vnl_matrix< double > &A) |
| Compute $A^\top A$. More... | |
| static void | AB (vnl_matrix< double > &out, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute AxB. More... | |
| static void | AtB (vnl_matrix< double > &out, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $A^\top B$. More... | |
| static void | AtB (vnl_vector< double > &out, const vnl_matrix< double > &A, const vnl_vector< double > &b) |
| Compute $A^\top b$ for vector b. out may not be b. More... | |
| static void | Ab (vnl_vector< double > &out, const vnl_matrix< double > &A, const vnl_vector< double > &b) |
| Compute $A b$ for vector b. out may not be b. More... | |
| static void | ABt (vnl_matrix< double > &out, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $A B^\top$. More... | |
| static double | btAb (const vnl_matrix< double > &A, const vnl_vector< double > &b) |
| Compute $b^\top A b$ for vector b and matrix A. More... | |
| static void | ABAt (vnl_matrix< double > &out, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $A B A^\top$. More... | |
| static void | inc_X_by_AtA (vnl_matrix< double > &X, const vnl_matrix< double > &A) |
| Compute $ X += A^\top A$. More... | |
| static void | inc_X_by_AB (vnl_matrix< double > &X, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $X += A B$. More... | |
| static void | inc_X_by_AtB (vnl_matrix< double > &X, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $X += A^\top B$. More... | |
| static void | inc_X_by_AtB (vnl_vector< double > &X, const vnl_matrix< double > &A, const vnl_vector< double > &b) |
| Compute $X += A^\top b$. More... | |
| static void | inc_X_by_ABt (vnl_matrix< double > &X, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $X += A B^\top$. More... | |
| static void | inc_X_by_ABAt (vnl_matrix< double > &X, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $X += A B A^\top$. More... | |
| static void | dec_X_by_AtA (vnl_matrix< double > &X, const vnl_matrix< double > &A) |
| Compute $ X -= A^\top A$. More... | |
| static void | dec_X_by_AB (vnl_matrix< double > &X, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $X -= A B$. More... | |
| static void | dec_X_by_AtB (vnl_matrix< double > &X, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $X -= A^\top B$. More... | |
| static void | dec_X_by_AtB (vnl_vector< double > &X, const vnl_matrix< double > &A, const vnl_vector< double > &b) |
| Compute $X -= A^\top b$. More... | |
| static void | dec_X_by_ABt (vnl_matrix< double > &X, const vnl_matrix< double > &A, const vnl_matrix< double > &B) |
| Compute $X -= A B^\top$. More... | |
Static Private Member Functions | |
| static double | dot (const double *a, const double *b, unsigned int n) |
| Compute dot product of a and b. More... | |
Collection of C-style matrix functions for the most time-critical applications.
In general, however one should consider using the vnl_transpose envelope-letter class to achieve the same results with about a 10% speed penalty.
Definition at line 25 of file vnl_fastops.h.
|
static |
Compute AxB.
Definition at line 52 of file vnl_fastops.cxx.
|
static |
Compute $A b$ for vector b. out may not be b.
Definition at line 146 of file vnl_fastops.cxx.
|
static |
Compute $A B A^\top$.
Definition at line 208 of file vnl_fastops.cxx.
|
static |
Compute $A B^\top$.
Definition at line 176 of file vnl_fastops.cxx.
|
static |
Compute $A^\top A$.
Definition at line 14 of file vnl_fastops.cxx.
|
static |
Compute $A^\top B$.
Definition at line 84 of file vnl_fastops.cxx.
|
static |
Compute $A^\top b$ for vector b. out may not be b.
Definition at line 116 of file vnl_fastops.cxx.
|
static |
Compute $b^\top A b$ for vector b and matrix A.
Definition at line 253 of file vnl_fastops.cxx.
|
static |
Compute $X -= A B$.
Definition at line 354 of file vnl_fastops.cxx.
|
static |
Compute $X -= A B^\top$.
Definition at line 640 of file vnl_fastops.cxx.
|
static |
Compute $ X -= A^\top A$.
Definition at line 525 of file vnl_fastops.cxx.
|
static |
Compute $X -= A^\top B$.
Definition at line 423 of file vnl_fastops.cxx.
|
static |
Compute $X -= A^\top b$.
Definition at line 492 of file vnl_fastops.cxx.
|
staticprivate |
Compute dot product of a and b.
Definition at line 564 of file vnl_fastops.cxx.
|
static |
Compute $X += A B$.
Definition at line 321 of file vnl_fastops.cxx.
|
static |
Compute $X += A B A^\top$.
Definition at line 690 of file vnl_fastops.cxx.
|
static |
Compute $X += A B^\top$.
Definition at line 591 of file vnl_fastops.cxx.
|
static |
Compute $ X += A^\top A$.
Definition at line 282 of file vnl_fastops.cxx.
|
static |
Compute $X += A^\top B$.
Definition at line 387 of file vnl_fastops.cxx.
|
static |
Compute $X += A^\top b$.
Definition at line 459 of file vnl_fastops.cxx.
1.8.15