KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
ublas_complex_interface.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Michael Andre
11 //
12 
13 #if !defined(KRATOS_UBLAS_COMPLEX_INTERFACE_H_INCLUDED )
14 #define KRATOS_UBLAS_COMPLEX_INTERFACE_H_INCLUDED
15 
16 // System includes
17 #include <string>
18 #include <iostream>
19 
20 // External includes
21 #include <boost/numeric/ublas/vector.hpp>
22 #include <boost/numeric/ublas/vector_proxy.hpp>
23 #include <boost/numeric/ublas/vector_sparse.hpp>
24 #include <boost/numeric/ublas/vector_expression.hpp>
25 #include <boost/numeric/ublas/matrix.hpp>
26 #include <boost/numeric/ublas/matrix_sparse.hpp>
27 #include <boost/numeric/ublas/matrix_proxy.hpp>
28 #include <boost/numeric/ublas/symmetric.hpp>
29 #include <boost/numeric/ublas/hermitian.hpp>
30 #include <boost/numeric/ublas/banded.hpp>
31 #include <boost/numeric/ublas/triangular.hpp>
32 #include <boost/numeric/ublas/io.hpp>
33 #include <boost/numeric/ublas/operation.hpp>
34 #include <boost/numeric/ublas/lu.hpp>
35 #include <boost/numeric/ublas/operation_sparse.hpp>
36 
37 // Project includes
38 #include "includes/define.h"
40 
41 namespace Kratos
42 {
43 
46 
47 using namespace boost::numeric::ublas;
48 
50 typedef unit_vector<std::complex<double>> ComplexUnitVector;
51 typedef zero_vector<std::complex<double>> ComplexZeroVector;
52 typedef scalar_vector<std::complex<double>> ComplexScalarVector;
53 typedef mapped_vector<std::complex<double>> ComplexSparseVector;
54 typedef compressed_vector<std::complex<double>> ComplexCompressedVector;
55 typedef coordinate_vector<std::complex<double>> ComplexCoordinateVector;
56 typedef vector_range<ComplexVector> ComplexVectorRange;
57 typedef vector_slice<ComplexVector> ComplexVectorSlice;
59 typedef identity_matrix<std::complex<double>> ComplexIdentityMatrix;
60 typedef zero_matrix<std::complex<double>> ComplexZeroMatrix;
62 typedef triangular_matrix<std::complex<double>> ComplexTriangularMatrix;
63 typedef symmetric_matrix<std::complex<double>> ComplexSymmetricMatrix;
64 typedef hermitian_matrix<std::complex<double>> ComplexHermitianMatrix;
65 typedef banded_matrix<std::complex<double>> ComplexBandedMatrix;
66 typedef mapped_matrix<std::complex<double>> ComplexSparseMatrix;
67 typedef compressed_matrix<std::complex<double>> ComplexCompressedMatrix;
68 typedef coordinate_matrix<std::complex<double>> ComplexCoordinateMatrix;
69 typedef matrix_row<ComplexMatrix> ComplexMatrixRow;
70 typedef matrix_column<ComplexMatrix> ComplexMatrixColumn;
71 typedef matrix_vector_range<ComplexMatrix> ComplexMatrixVectorRange;
72 typedef matrix_vector_slice<ComplexMatrix> ComplexMatrixVectorSlice;
73 typedef matrix_range<ComplexMatrix> ComplexMatrixRange;
74 typedef matrix_slice<ComplexMatrix> ComplexMatrixSlice;
75 
77 
78 } // namespace Kratos.
79 
80 #endif // KRATOS_UBLAS_COMPLEX_INTERFACE_H_INCLUDED defined
Definition: amatrix_interface.h:41
Definition: amatrix_interface.h:701
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
matrix_row< ComplexMatrix > ComplexMatrixRow
Definition: ublas_complex_interface.h:69
identity_matrix< std::complex< double > > ComplexIdentityMatrix
Definition: ublas_complex_interface.h:59
vector_slice< ComplexVector > ComplexVectorSlice
Definition: ublas_complex_interface.h:57
matrix_slice< ComplexMatrix > ComplexMatrixSlice
Definition: ublas_complex_interface.h:74
hermitian_matrix< std::complex< double > > ComplexHermitianMatrix
Definition: ublas_complex_interface.h:64
mapped_vector< std::complex< double > > ComplexSparseVector
Definition: ublas_complex_interface.h:53
matrix_vector_slice< ComplexMatrix > ComplexMatrixVectorSlice
Definition: ublas_complex_interface.h:72
zero_vector< std::complex< double > > ComplexZeroVector
Definition: ublas_complex_interface.h:51
matrix_range< ComplexMatrix > ComplexMatrixRange
Definition: ublas_complex_interface.h:73
DenseMatrix< std::complex< double > > ComplexMatrix
Definition: ublas_complex_interface.h:58
symmetric_matrix< std::complex< double > > ComplexSymmetricMatrix
Definition: ublas_complex_interface.h:63
matrix_column< ComplexMatrix > ComplexMatrixColumn
Definition: ublas_complex_interface.h:70
scalar_vector< std::complex< double > > ComplexScalarVector
Definition: ublas_complex_interface.h:52
unit_vector< std::complex< double > > ComplexUnitVector
Definition: ublas_complex_interface.h:50
DenseVector< std::complex< double > > ComplexVector
Definition: ublas_complex_interface.h:49
coordinate_vector< std::complex< double > > ComplexCoordinateVector
Definition: ublas_complex_interface.h:55
compressed_vector< std::complex< double > > ComplexCompressedVector
Definition: ublas_complex_interface.h:54
scalar_matrix< std::complex< double > > ComplexScalarMatrix
Definition: ublas_complex_interface.h:61
compressed_matrix< std::complex< double > > ComplexCompressedMatrix
Definition: ublas_complex_interface.h:67
banded_matrix< std::complex< double > > ComplexBandedMatrix
Definition: ublas_complex_interface.h:65
mapped_matrix< std::complex< double > > ComplexSparseMatrix
Definition: ublas_complex_interface.h:66
matrix_vector_range< ComplexMatrix > ComplexMatrixVectorRange
Definition: ublas_complex_interface.h:71
zero_matrix< std::complex< double > > ComplexZeroMatrix
Definition: ublas_complex_interface.h:60
triangular_matrix< std::complex< double > > ComplexTriangularMatrix
Definition: ublas_complex_interface.h:62
vector_range< ComplexVector > ComplexVectorRange
Definition: ublas_complex_interface.h:56
coordinate_matrix< std::complex< double > > ComplexCoordinateMatrix
Definition: ublas_complex_interface.h:68