UNPKG

ts-quantum

Version:

TypeScript library for quantum mechanics calculations and utilities

39 lines (38 loc) 1.57 kB
/** * General quantum operations for graph elements */ import { QuantumObject, IOperator, IStateVector } from '../../core/types'; import { QuantumGraph } from '../QuantumGraph'; import { MeasurementResult } from '../types'; /** * Apply quantum operation to arbitrary subset of graph elements */ export declare function applyQuantumOperation(graph: QuantumGraph, elementIds: string[], operator: IOperator): void; /** * Extract quantum state from subset of graph elements */ export declare function extractSubsystemState(graph: QuantumGraph, elementIds: string[]): QuantumObject[]; /** * Insert quantum state into subset of graph elements */ export declare function insertSubsystemState(graph: QuantumGraph, elementIds: string[], newState: QuantumObject): void; /** * Perform partial measurement on subset of graph elements */ export declare function partialMeasurement(graph: QuantumGraph, elementIds: string[], projector?: IOperator): MeasurementResult; /** * Check if elements form a valid subsystem */ export declare function validateSubsystem(graph: QuantumGraph, elementIds: string[]): boolean; /** * Get dimension of subsystem */ export declare function getSubsystemDimension(graph: QuantumGraph, elementIds: string[]): number; /** * Create tensor product of multiple quantum states */ export declare function tensorProductStates(states: IStateVector[]): IStateVector; /** * Split composite state into individual components */ export declare function splitCompositeState(compositeState: IStateVector, subsystemDimensions: number[]): IStateVector[];