17#ifndef __B2_SINGULAR_VALUE_DECOMPOSITION_H__ 
   18#define __B2_SINGULAR_VALUE_DECOMPOSITION_H__ 
   23#include "b2eigen_decomposition.H" 
   47inline void svd_3_3(
const double A[3][3], 
double U[3][3], 
double S[3], 
double V[3][3]) {
 
   70    eigen_decomposition(AA, S);
 
   73    double s1 = std::max(0.0, S[0]);
 
   74    double s2 = std::max(0.0, S[1]);
 
   75    double s3 = std::max(0.0, S[2]);
 
   83    std::copy(AA[0], AA[0] + 3 * 3, V[0]);
 
  105    for (
int i = 0; i != 3; ++i) {
 
  106        const double s = 1.0 / std::sqrt(U[i][0] * U[i][0] + U[i][1] * U[i][1] + U[i][2] * U[i][2]);
 
 
Contains the base classes for implementing Finite Elements.
Definition b2boundary_condition.H:32
 
void inner_product_3_3_NT(const T a[3][3], const T b[3][3], T c[3][3])
Definition b2tensor_calculus.H:848
 
void inner_product_3_3_TN(const T a[3][3], const T b[3][3], T c[3][3])
Definition b2tensor_calculus.H:823
 
void svd_3_3(const double A[3][3], double U[3][3], double S[3], double V[3][3])
Definition b2singular_value_decomposition.H:47