UNPKG

ts-quantum

Version:

TypeScript library for quantum mechanics calculations and utilities

46 lines (45 loc) 1.58 kB
/** * Measurement operations for quantum states */ import { Complex, IOperator, IMeasurementOutcome } from '../core/types'; import { StateVector } from '../states/stateVector'; /** * Implementation of a projection operator for quantum measurements */ export declare class ProjectionOperator implements IOperator { private _operator; private _dimension; constructor(state: StateVector); get objectType(): 'operator'; get dimension(): number; get type(): 'projection'; /** * Tests whether the density matrix is identically zero */ isZero(tolerance?: number): boolean; norm(): number; apply(state: StateVector): StateVector; compose(other: IOperator): IOperator; adjoint(): IOperator; toMatrix(): Complex[][]; tensorProduct(other: IOperator): IOperator; partialTrace(dims: number[], traceOutIndices: number[]): IOperator; scale(scalar: Complex): IOperator; add(other: IOperator): IOperator; eigenDecompose(): { values: Complex[]; vectors: IOperator[]; }; } /** * Calculate expectation value of an operator for a given state */ export declare function expectationValue(state: StateVector, operator: IOperator): Complex; /** * Perform a measurement on a quantum state with a given observable */ export declare function measureState(state: StateVector, operator: IOperator): IMeasurementOutcome; /** * Create a measurement operator for a given observable and eigenvalue */ export declare function createMeasurementOperator(observable: IOperator, eigenvalue: number): IOperator;