Changeset cd82ec


Ignore:
Timestamp:
Jul 2, 2010, 9:00:17 AM (15 years ago)
Author:
Tillmann Crueger <crueger@…>
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, 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:
abd8f7
Parents:
456341
Message:

Improved comments of matrix class

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Matrix.hpp

    r456341 rcd82ec  
    1313#include "defs.hpp"
    1414
     15/**
     16 * Simple class to store matrices with a few extra functions
     17 */
     18
    1519class Vector;
    1620
     
    2024public:
    2125  Matrix();
     26
     27  /**
     28   * construct a matrix from a 3x3 double array that contains all Elements.
     29   *
     30   * The elements are laid out in the following way:
     31   * array -> matrix
     32   * 0 -> (0,0)
     33   * 1 -> (1,0)
     34   * 2 -> (2,0)
     35   * 3 -> (0,1)
     36   * 4 -> (1,1)
     37   * 5 -> (2,1)
     38   * 6 -> (0,2)
     39   * 7 -> (1,2)
     40   * 8 -> (2,2)
     41   *
     42   */
    2243  Matrix(const double*);
    2344  Matrix(const Matrix&);
    2445  virtual ~Matrix();
    2546
     47  /**
     48   * Set the matrix to a unit matrix.
     49   */
    2650  void one();
    2751
     52  /**
     53   * Access the matrix at index (i,j)
     54   */
    2855  double &at(size_t i, size_t j);
     56  /**
     57   * Access the matrix at index (i,j)
     58   */
    2959  const double at(size_t i, size_t j) const;
    3060
     61  /**
     62   * Set the matrix at index (i,j).
     63   *
     64   * Slightly faster than at(i,j)=x
     65   */
    3166  void set(size_t i, size_t j, const double value);
    3267
     68  /**
     69   * Calculate the determinant of the matrix
     70   */
    3371  double determinant() const;
    3472
     73  /**
     74   * Calculate the inverse of the matrix.
     75   *
     76   * Rather costly, so use precomputation as often as possible.
     77   */
    3578  Matrix invert() const;
    3679
     
    5699Matrix operator*(const Matrix&,const double);
    57100
     101/**
     102 * Takes a symmetric matrix that stores the lower diagonal and produces a
     103 * full matrix.
     104 *
     105 * The array is laid out as follows:
     106 *
     107 * array -> matrix
     108 * 0 -> (0,0)
     109 * 1 -> (1,0);(0,1)
     110 * 2 -> (1,1)
     111 * 3 -> (2,0);(0,2)
     112 * 4 -> (2,1);(1,2)
     113 * 5 -> (2,2)
     114 */
    58115Matrix ReturnFullMatrixforSymmetric(const double * const cell_size);
    59116
Note: See TracChangeset for help on using the changeset viewer.