Changeset 6e06bd for src/LinearAlgebra/RealSpaceMatrix.hpp
- Timestamp:
- Dec 5, 2010, 12:19:19 AM (15 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, Candidate_v1.7.0, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- f03705
- Parents:
- 589112 (diff), bbf1bd (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - File:
-
- 1 moved
-
src/LinearAlgebra/RealSpaceMatrix.hpp (moved) (moved from src/LinearAlgebra/Matrix.hpp ) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/LinearAlgebra/RealSpaceMatrix.hpp
r589112 r6e06bd 1 1 /* 2 * Matrix.hpp2 * RealSpaceMatrix.hpp 3 3 * 4 4 * Created on: Jun 25, 2010 … … 6 6 */ 7 7 8 #ifndef MATRIX_HPP_9 #define MATRIX_HPP_8 #ifndef REALSPACEMATRIX_HPP_ 9 #define REALSPACEMATRIX_HPP_ 10 10 11 11 #include <iosfwd> … … 19 19 class MatrixContent; 20 20 21 class Matrix 21 /** 3x3 Matrix class. 22 * This class has some specific features for 3D space such as rotations or 23 * hard-coded determinants. 24 */ 25 class RealSpaceMatrix 22 26 { 23 friend Vector operator*(const Matrix&,const Vector&);27 friend Vector operator*(const RealSpaceMatrix&,const Vector&); 24 28 public: 25 Matrix();29 RealSpaceMatrix(); 26 30 27 31 /** … … 41 45 * 42 46 */ 43 Matrix(const double*); 44 Matrix(const Matrix&); 45 virtual ~Matrix(); 47 RealSpaceMatrix(const double*); 48 RealSpaceMatrix(const RealSpaceMatrix&); 49 RealSpaceMatrix(const MatrixContent&); 50 virtual ~RealSpaceMatrix(); 46 51 47 52 /** 48 53 * Set the matrix to a unit matrix. 49 54 */ 50 void one();55 void setIdentity(); 51 56 52 57 /** 53 58 * Set all matrix entries to zero. 54 59 */ 55 void zero();60 void setZero(); 56 61 57 62 /** … … 60 65 * with given angles. 61 66 */ 62 void rotation(const double x, const double y, const double z);67 void setRotation(const double x, const double y, const double z); 63 68 64 69 /** … … 106 111 * Rather costly, so use precomputation as often as possible. 107 112 */ 108 Matrix invert() const;113 RealSpaceMatrix invert() const; 109 114 110 115 /** … … 119 124 * Calculate the transpose of the matrix. 120 125 */ 121 Matrix transpose() const;122 Matrix &transpose();126 RealSpaceMatrix transpose() const; 127 RealSpaceMatrix &transpose(); 123 128 124 129 // operators 125 Matrix &operator=(constMatrix&);130 RealSpaceMatrix &operator=(const RealSpaceMatrix&); 126 131 127 const Matrix &operator+=(constMatrix&);128 const Matrix &operator-=(constMatrix&);129 const Matrix &operator*=(constMatrix&);132 const RealSpaceMatrix &operator+=(const RealSpaceMatrix&); 133 const RealSpaceMatrix &operator-=(const RealSpaceMatrix&); 134 const RealSpaceMatrix &operator*=(const RealSpaceMatrix&); 130 135 131 const Matrix &operator*=(const double);136 const RealSpaceMatrix &operator*=(const double); 132 137 133 const Matrix operator+(constMatrix&) const;134 const Matrix operator-(constMatrix&) const;135 const Matrix operator*(constMatrix&) const;138 const RealSpaceMatrix operator+(const RealSpaceMatrix&) const; 139 const RealSpaceMatrix operator-(const RealSpaceMatrix&) const; 140 const RealSpaceMatrix operator*(const RealSpaceMatrix&) const; 136 141 137 bool operator==(const Matrix&) const;142 bool operator==(const RealSpaceMatrix&) const; 138 143 139 144 private: 140 Matrix(MatrixContent*);145 RealSpaceMatrix(MatrixContent*); 141 146 void createViews(); 142 147 MatrixContent *content; … … 147 152 }; 148 153 149 const Matrix operator*(const double,constMatrix&);150 const Matrix operator*(constMatrix&,const double);154 const RealSpaceMatrix operator*(const double,const RealSpaceMatrix&); 155 const RealSpaceMatrix operator*(const RealSpaceMatrix&,const double); 151 156 152 157 /** … … 164 169 * 5 -> (2,2) 165 170 */ 166 Matrix ReturnFullMatrixforSymmetric(const double * const cell_size);171 RealSpaceMatrix ReturnFullMatrixforSymmetric(const double * const cell_size); 167 172 168 std::ostream &operator<<(std::ostream&,const Matrix&);169 Vector operator*(const Matrix&,const Vector&);170 Vector& operator*=(Vector&,const Matrix&);173 std::ostream &operator<<(std::ostream&,const RealSpaceMatrix&); 174 Vector operator*(const RealSpaceMatrix&,const Vector&); 175 Vector& operator*=(Vector&,const RealSpaceMatrix&); 171 176 172 #endif /* MATRIX_HPP_ */177 #endif /* REALSPACEMATRIX_HPP_ */
Note:
See TracChangeset
for help on using the changeset viewer.
