qiskit-documentation/docs/api/qiskit/0.31/qiskit.chemistry.algorithms...

262 lines
7.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: HarmonicPotential
description: API reference for qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential
---
# HarmonicPotential
<Class id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/chemistry/algorithms/pes_samplers/potentials/harmonic_potential.py" signature="HarmonicPotential(molecule)" modifiers="class">
Bases: `qiskit.chemistry.algorithms.pes_samplers.potentials.potential_base.PotentialBase`
Implements a 1D Harmonic potential.
Input units are Angstroms (distance between the two atoms), and output units are Hartrees (molecular energy).
**Parameters**
**molecule** (`Molecule`) the underlying molecule.
**Raises**
**ValueError** Only implemented for diatomic molecules
## Methods
### dissociation\_energy
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.dissociation_energy" signature="HarmonicPotential.dissociation_energy(scaling=1.0)">
Returns the estimated dissociation energy for the current fit.
**Parameters**
**scaling** (`float`) Scaling to change units. (Default is 1.0 for Hartrees)
**Return type**
`float`
**Returns**
estimated dissociation energy
</Function>
### eval
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.eval" signature="HarmonicPotential.eval(x)">
After fitting the data to the fit function, predict the energy at a point x.
**Parameters**
**x** (`float`) value to evaluate surface in
**Return type**
`float`
**Returns**
value of potential in point x
</Function>
### fit
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.fit" signature="HarmonicPotential.fit(xdata, ydata, initial_vals=None, bounds_list=None)">
Fits a potential to computed molecular energies.
**Parameters**
* **xdata** (`List`\[`float`]) interatomic distance points (Angstroms)
* **ydata** (`List`\[`float`]) molecular energies (Hartrees)
* **initial\_vals** (`Optional`\[`List`\[`float`]]) Initial values for fit parameters. None for default. Order of parameters is k, r\_0 and m\_shift (see fit\_function implementation)
* **bounds\_list** (`Optional`\[`Tuple`\[`List`\[`float`], `List`\[`float`]]]) Bounds for the fit parameters. None for default. Order of parameters is k, r\_0 and m\_shift (see fit\_function implementation)
**Return type**
`None`
</Function>
### fit\_function
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.fit_function" signature="HarmonicPotential.fit_function(x, k, r_0, m_shift)" modifiers="static">
Functional form of the potential.
**Parameters**
* **x** (`float`) x parameter of harmonic potential functional form
* **k** (`float`) k parameter of harmonic potential functional form
* **r\_0** (`float`) r\_0 parameter of harmonic potential functional form
* **m\_shift** (`float`) m parameter of harmonic potential functional form
**Return type**
`float`
**Returns**
harmonic potential functional form
</Function>
### fundamental\_frequency
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.fundamental_frequency" signature="HarmonicPotential.fundamental_frequency()">
Returns the fundamental frequency for the current fit (in s^-1).
**Return type**
`float`
**Returns**
fundamental frequency for the current fit
</Function>
### get\_equilibrium\_geometry
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.get_equilibrium_geometry" signature="HarmonicPotential.get_equilibrium_geometry(scaling=1.0)">
Returns the interatomic distance corresponding to minimal energy.
**Parameters**
**scaling** (`float`) Scaling to change units. (Default is 1.0 for Angstroms)
**Return type**
`float`
**Returns**
geometry corresponding to minimal energy
</Function>
### get\_maximum\_trusted\_level
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.get_maximum_trusted_level" signature="HarmonicPotential.get_maximum_trusted_level(n=0)">
Returns the maximum energy level for which the particular implementation still provides a good approximation of reality. Default value of 100. Redefined where needed (see e.g. Morse).
**Parameters**
**n** (`int`) vibronic mode
**Return type**
`float`
**Returns**
maximum\_trusted\_level setted
</Function>
### get\_minimal\_energy
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.get_minimal_energy" signature="HarmonicPotential.get_minimal_energy(scaling=1.0)">
Returns the smallest molecular energy for the current fit.
**Parameters**
**scaling** (`float`) Scaling to change units. (Default is 1.0 for Hartrees)
**Return type**
`float`
**Returns**
smallest molecular energy for the current fit
</Function>
### get\_num\_modes
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.get_num_modes" signature="HarmonicPotential.get_num_modes()">
This (1D) potential represents a single vibrational mode
**Return type**
`int`
</Function>
### get\_trust\_region
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.get_trust_region" signature="HarmonicPotential.get_trust_region()">
The potential will usually be well-defined (even if not useful) for arbitrary x so we return a fairly large interval here. Redefine in derived classes if needed.
**Return type**
`Tuple`\[`float`, `float`]
</Function>
### process\_fit\_data
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.process_fit_data" signature="HarmonicPotential.process_fit_data(xdata, ydata)" modifiers="classmethod">
#### Mostly for internal use. Preprocesses the data passed to fit\_to\_data()
so that only the points around the minimum are fit (which gives more accurate vibrational modes).
**Parameters**
* **xdata** (`List`\[`float`]) xdata to be considered
* **ydata** (`List`\[`float`]) ydata to be considered
**Return type**
`Tuple`\[`list`, `list`]
**Returns**
the processed data that fit better to a harmonic potential
</Function>
### update\_molecule
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.update_molecule" signature="HarmonicPotential.update_molecule(molecule)">
Updates the underlying molecule.
**Parameters**
**molecule** (`Molecule`) chemistry molecule
**Raises**
**ValueError** Only implemented for diatomic molecules
**Return type**
`Molecule`
</Function>
### vibrational\_energy\_level
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.vibrational_energy_level" signature="HarmonicPotential.vibrational_energy_level(n)">
Returns the n-th vibrational energy level for the current fit (in Hartrees).
**Parameters**
**n** (`int`) vibrational mode
**Return type**
`float`
**Returns**
vibrational energy level for the current fit
</Function>
### wave\_number
<Function id="qiskit.chemistry.algorithms.pes_samplers.HarmonicPotential.wave_number" signature="HarmonicPotential.wave_number()">
Returns the wave number for the current fit (in cm^-1).
**Return type**
`int`
**Returns**
wave number for the current fit
</Function>
</Class>