Octopus
basis_vectors_oct_m::basis_vectors_t Interface Reference

Vectors defining a basis in a vector space. This class provides methods to convert vector coordinates in this basis to and from Cartesian coordinates. Given a vector v, its coordinates in the basis are related to the Cartesian coordinates y_i in the following way: More...

Detailed Description

Vectors defining a basis in a vector space. This class provides methods to convert vector coordinates in this basis to and from Cartesian coordinates. Given a vector v, its coordinates in the basis are related to the Cartesian coordinates y_i in the following way:

\[ x_i = \sum_j a_{ij} y_j \]

where a_{ij} are the elements of the change of basis matrix A. The previous expression can be expressed in matrix form:

\[ X = A Y \]

Obtaining the Cartesian coordinates from the basis coordinates is then straighforward using the inverse of A:

\[ Y = A^{-1} X \]

Note that the columns of \(A^{-1}\) are simply the basis vectors.

Definition at line 149 of file basis_vectors.F90.

Private Member Functions

procedure copy => basis_vectors_copy
 
generic assignment => copy
 
procedure scale => basis_vectors_scale
 
generic from_cartesian => from_cartesian1, from_cartesian2
 
generic to_cartesian => to_cartesian1, to_cartesian2
 
procedure from_cartesian1 => basis_vectors_from_cartesian1
 
procedure to_cartesian1 => basis_vectors_to_cartesian1
 
procedure from_cartesian2 => basis_vectors_from_cartesian2
 
procedure to_cartesian2 => basis_vectors_to_cartesian2
 
final basis_vectors_finalize
 
type(basis_vectors_t) function basis_vectors_constructor (namespace, dim, vectors)
 

Private Attributes

integer, private dim
 
real(real64), dimension(:,:), allocatable vectors
 the vectors of the basis More...
 
real(real64), dimension(:,:), allocatable change_of_basis_matrix
 the change-of-basis matrix to convert from a Cartesian basis to this basis More...
 
logical orthogonal
 

Member Function/Subroutine Documentation

◆ copy()

procedure basis_vectors_oct_m::basis_vectors_t::copy
private

Definition at line 156 of file basis_vectors.F90.

◆ assignment()

generic basis_vectors_oct_m::basis_vectors_t::assignment
private

Definition at line 157 of file basis_vectors.F90.

◆ scale()

procedure basis_vectors_oct_m::basis_vectors_t::scale
private

Definition at line 158 of file basis_vectors.F90.

◆ from_cartesian()

generic basis_vectors_oct_m::basis_vectors_t::from_cartesian
private

Definition at line 159 of file basis_vectors.F90.

◆ to_cartesian()

generic basis_vectors_oct_m::basis_vectors_t::to_cartesian
private

Definition at line 160 of file basis_vectors.F90.

◆ from_cartesian1()

procedure basis_vectors_oct_m::basis_vectors_t::from_cartesian1
private

Definition at line 161 of file basis_vectors.F90.

◆ to_cartesian1()

procedure basis_vectors_oct_m::basis_vectors_t::to_cartesian1
private

Definition at line 162 of file basis_vectors.F90.

◆ from_cartesian2()

procedure basis_vectors_oct_m::basis_vectors_t::from_cartesian2
private

Definition at line 163 of file basis_vectors.F90.

◆ to_cartesian2()

procedure basis_vectors_oct_m::basis_vectors_t::to_cartesian2
private

Definition at line 164 of file basis_vectors.F90.

◆ basis_vectors_finalize()

final basis_vectors_oct_m::basis_vectors_t::basis_vectors_finalize
finalprivate

Definition at line 165 of file basis_vectors.F90.

◆ basis_vectors_constructor()

type(basis_vectors_t) function basis_vectors_oct_m::basis_vectors_t::basis_vectors_constructor ( type(namespace_t), intent(in)  namespace,
integer, intent(in)  dim,
real(real64), dimension(dim, dim), intent(in)  vectors 
)
private

Definition at line 175 of file basis_vectors.F90.

Member Data Documentation

◆ dim

integer, private basis_vectors_oct_m::basis_vectors_t::dim
private

Definition at line 151 of file basis_vectors.F90.

◆ vectors

real(real64), dimension(:,:), allocatable basis_vectors_oct_m::basis_vectors_t::vectors
private

the vectors of the basis

Definition at line 152 of file basis_vectors.F90.

◆ change_of_basis_matrix

real(real64), dimension(:,:), allocatable basis_vectors_oct_m::basis_vectors_t::change_of_basis_matrix
private

the change-of-basis matrix to convert from a Cartesian basis to this basis

Definition at line 153 of file basis_vectors.F90.

◆ orthogonal

logical basis_vectors_oct_m::basis_vectors_t::orthogonal
private

Definition at line 154 of file basis_vectors.F90.


The documentation for this interface was generated from the following file: