Skip to content

Multi-scale parameter sensitivity analysis for spacetime metrics. Studies parameter dependencies, stability regions, and sensitivity coefficients in relativistic field configurations.

Notifications You must be signed in to change notification settings

arcticoder/warp-sensitivity-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

warp-sensitivity-analysis

Multi-scale theoretical physics testing framework for warp drive signatures.

Overview

This package provides a comprehensive analysis pipeline spanning three regimes:

  1. Signal vs. Noise Analysis: Compare synthetic warp signals against detector sensitivity curves
  2. Semi-Classical Testing: Generate Post-Newtonian corrections and compare with precision experiments
  3. Strong-Curvature Models: Explore Planck-scale physics with toy black hole and cosmological models

Repository Structure

.  
├── README.md  
├── EXTENDED_FRAMEWORK.md           # Detailed framework documentation
├── mock_data.ndjson                # Synthetic signal time-series/spectra JSON-lines  
├── mock_data.am                    # AsciiMath metadata for mock_data  
├── sensitivity_curve.csv           # Generated noise curve (frequency, noise PSD)  
├── sensitivity_curve.am            # AsciiMath metadata for sensitivity curve  
├── generate_sensitivity_curve.py   # Noise curve generator
├── analyze_sensitivity.py          # Original signal vs noise analysis
├── 
├── semi_classical/                 # Post-Newtonian analysis
│   ├── compute_pn_corrections.py   # PN expansion generator
│   ├── analyze_pn_tests.py         # Experimental comparison
│   ├── theory_params.am            # Theory configuration
│   ├── pn_config.am                # PN expansion settings
│   └── pn_data/                    # Experimental datasets
│       ├── ligo_data.csv           # LIGO sensitivity curves
│       ├── ligo_data.am            # LIGO metadata
│       └── atomic_interf.am        # Atomic interferometry data
│
└── strong_curvature/               # Planck-scale models
    ├── generate_2d_blackhole.py    # 2D black hole toy models
    ├── minisuperspace_cosmo.py     # FRW minisuperspace cosmology
    ├── compare_strong_models.py    # Model unification
    ├── blackhole_config.am         # Black hole parameters
    └── cosmo_config.am             # Cosmology parameters
```markdown
## Prerequisites

- Python 3.7+  
- NumPy  
- SciPy
- SymPy (for symbolic PN calculations)
- ndjson  
- tqdm (optional, for progress bars)

Install via:

```bash
pip install numpy scipy sympy python-ndjson tqdm

Usage

1. Generate Noise Curve

python generate_sensitivity_curve.py

This produces:

  • sensitivity_curve.csv

    • Columns: frequency_Hz, noise_strain_per_sqrtHz
  • sensitivity_curve.am

    • One-line AsciiMath metadata: model name, parameters, point count

2. Analyze Signal Detectability

python analyze_sensitivity.py `
  --mock   mock_data.ndjson `
  --meta   mock_data.am `
  --noise  sensitivity_curve.csv `
  --nmeta  sensitivity_curve.am `
  --out    sensitivity_comparison.ndjson `
  --oam    sensitivity_comparison.am

Outputs:

  • sensitivity_comparison.ndjson
    JSON-line records:
{
    "label": "signal1",
    "detectable": true,
    "snr": 12.5
}
  • sensitivity_comparison.am
    AsciiMath summary: detector name, injection count, detection thresholds

3. Post-Newtonian Analysis

Generate PN corrections for warp drive theories:

cd semi_classical/
python compute_pn_corrections.py \
  --theory theory_params.am \
  --pn-config pn_config.am \
  --out pn_waveforms.ndjson \
  --oam pn_summary.am

Configuration files:

  • theory_params.am: Contains WarpVelocity, MassParameter, TheoryType
  • pn_config.am: Contains MaxPNOrder, FrequencyRange, ExpansionParameter

Outputs:

  • pn_waveforms.ndjson: PN corrections with observational signatures
  • pn_summary.am: Analysis metadata

Analyze against experimental data:

python analyze_pn_tests.py \
  --pn-data pn_waveforms.ndjson \
  --pn-meta pn_summary.am \
  --exp-data pn_data/ligo_data.csv \
  --exp-meta pn_data/ligo_data.am \
  --out pn_analysis.ndjson \
  --oam pn_analysis.am \
  --snr-threshold 5.0

Flags and Input Specifications:

  • --pn-data: PN corrections from compute_pn_corrections.py (.ndjson format)
    • Each entry contains: pn_order, correction (symbolic expressions), signature (frequency-domain observational signatures), v_over_c, mass_parameter
  • --pn-meta: PN metadata file (.am format) containing analysis parameters
    • Required keys: max_pn_order, warp_velocity, frequency_range, n_corrections
  • --exp-data: Experimental sensitivity data (.csv with columns: frequency_hz, strain_sensitivity, experiment_type)
    • Compatible with LIGO, Virgo, atomic interferometry, and pulsar timing datasets
  • --exp-meta: Experimental metadata (.am with keys: ExperimentType, InstrumentName, FrequencyRange, StrainSensitivity, DataSource)
  • --snr-threshold: SNR threshold for detectability (default: 5.0, recommended range: 3.0-10.0)

Outputs:

  • pn_analysis.ndjson: Detection analysis for each PN order with fields:
    • pn_order: PN correction order ("1PN", "2PN", "3PN", etc.)
    • theory_params: Contains v_over_c and mass_parameter values from theory
    • experimental_analysis: Per-experiment detectability results including SNR, parameter bounds, frequency ranges
    • overall_detectability: Boolean indicating if any experiment can detect this PN order
    • best_snr: Highest SNR achieved across all experimental datasets
  • pn_analysis.am: Summary metadata including detection statistics, parameter constraints, and experiment coverage

4. Strong-Curvature Models

Generate 2D black hole curvature data:

cd strong_curvature/
python generate_2d_blackhole.py \
  --model-config blackhole_config.am \
  --out blackhole_data.ndjson \
  --oam blackhole_summary.am

Configuration (blackhole_config.am):

  • ModelType: "2d_schwarzschild" or "warp_bubble"
  • MassParameter: Characteristic mass scale
  • PlanckLength: Planck length (default: 1e-35)
  • BubbleThickness: For warp bubble models

Outputs:

  • blackhole_data.ndjson: Curvature invariants and quantum parameters
  • blackhole_summary.am: Model summary and regime classification

Generate minisuperspace cosmology:

python minisuperspace_cosmo.py \
  --cosmo-config cosmo_config.am \
  --out cosmo_data.ndjson \
  --oam cosmo_summary.am

Compare and unify strong-curvature models:

python compare_strong_models.py \
  --models blackhole_data.ndjson cosmo_data.ndjson \
  --meta blackhole_summary.am cosmo_summary.am \
  --out unified_strong_models.ndjson \
  --oam unified_summary.am

Flags and Input Specifications:

  • --models: List of model data files (.ndjson) from toy model generators
    • Multiple files can be specified: --models file1.ndjson file2.ndjson file3.ndjson
    • Each .ndjson contains model results with curvature invariants, geodesic analysis, and Planck-scale physics indicators
    • Expected structure: model_type, curvature_analysis, geodesic_analysis, planck_scale_analysis
  • --meta: Corresponding metadata files (.am) with model parameters and analysis settings
    • Must match order of --models files: --meta meta1.am meta2.am meta3.am
    • Required keys: model_type, analysis parameters specific to each model class

Outputs:

  • unified_strong_models.ndjson: Unified comparison with regime classification, containing:
    • model_id: Unique identifier for each model in the comparison
    • model_type: Type of model ("2d_schwarzschild", "warp_bubble", "frw_minisuperspace", etc.)
    • regime_classification: Overall physical regime ("classical", "semi_classical", "quantum_gravity")
    • curvature_analysis: Extracted curvature scales and quantum gravity parameters
    • classical_gr_valid: Boolean indicating if classical General Relativity is adequate
    • quantum_correction_strength: Estimated strength of quantum gravity corrections (0.0-1.0)
    • requires_quantum_gravity: Boolean indicating if quantum effects dominate
    • parameter_ranges: Valid parameter ranges for classical and quantum regimes
  • unified_summary.am: Summary statistics including:
    • regime_distribution: Count of models in each regime (classical/semi_classical/quantum_gravity)
    • n_quantum_gravity: Number of models requiring full quantum gravity treatment
    • n_classical_valid: Number of models where classical GR remains valid
    • average_quantum_correction: Average quantum correction strength across all models
    • model_types_analyzed: List of model types included in comparison
    • planck_scale_physics_important: Boolean indicating if any models reach Planck-scale physics

Input/Output Formats

AsciiMath Metadata Files (.am)

All configuration and metadata files use the AsciiMath format with consistent key-value pairs:

[ key1 = value1, key2 = "string_value", key3 = 1.23e-4, ... ]

Configuration Keys by Script:

Semi-Classical Analysis:

  • theory_params.am:

    • WarpVelocity: Dimensionless warp velocity (v/c ratio)
    • MassParameter: Characteristic mass scale parameter
    • TheoryType: Theory model type ("alcubierre_warp", "van_den_broeck", etc.)
    • MetricSignature: Metric signature convention ("mostly_plus", "mostly_minus")
  • pn_config.am:

    • MaxPNOrder: Maximum Post-Newtonian order to compute (integer: 1, 2, 3, ...)
    • FrequencyRange: Comma-separated frequency range in Hz ("10,1000")
    • ExpansionParameter: PN expansion parameter ("v_over_c", "frequency")
    • SymbolicComputation: Boolean for symbolic vs numerical computation

Strong-Curvature Models:

  • blackhole_config.am:

    • ModelType: Model type ("2d_schwarzschild", "warp_bubble")
    • MassParameter: Characteristic mass scale in natural units
    • PlanckLength: Planck length in meters (default: 1e-35)
    • BubbleThickness: Warp bubble thickness parameter (for warp_bubble models)
  • cosmo_config.am:

    • ModelType: Cosmology model ("frw_minisuperspace", "kasner")
    • HubbleParameter: Hubble parameter H₀ in units of 100 km/s/Mpc
    • OmegaMatter: Matter density parameter Ωₘ
    • PlanckLength: Planck length in meters
    • ScaleFactorRange: Comma-separated scale factor range ("1e-10,1e10")

Experimental Data:

  • ligo_data.am, atomic_interf.am:
    • ExperimentType: Type of experiment ("gravitational_wave", "atomic_interferometry")
    • InstrumentName: Specific instrument name ("LIGO_H1", "LIGO_L1", "atom_interferometer")
    • FrequencyRange: Sensitive frequency range in Hz
    • StrainSensitivity: Characteristic strain sensitivity
    • DataSource: Source of experimental data

JSON-Lines Data Files (.ndjson)

  • One JSON object per line for efficient streaming and processing

  • For mock_data.ndjson:

    { "label": "signal1", "time_series": [0.1, 0.2, ...], "sampling_rate": 16384 }
  • For pn_waveforms.ndjson:

    { "pn_order": "1PN", "correction": {...}, "signature": {...}, "v_over_c": 0.1, "mass_parameter": 1e-6 }
  • For blackhole_data.ndjson:

    { "model_type": "2d_schwarzschild", "curvature_analysis": {...}, "geodesic_analysis": {...} }

CSV Data Files (.csv)

  • Standard comma-separated with header row
  • For sensitivity curves: frequency_Hz, noise_strain_per_sqrtHz
  • For experimental data: frequency_hz, strain_sensitivity, experiment_type

Examples

# 1. Build the noise curve
python generate_sensitivity_curve.py

# 2. Run detection analysis
python analyze_sensitivity.py \
  --mock mock_data.ndjson \
  --meta mock_data.am \
  --noise sensitivity_curve.csv \
  --nmeta sensitivity_curve.am \
  --out sensitivity_comparison.ndjson \
  --oam sensitivity_comparison.am

# 3. Generate and analyze PN corrections
cd semi_classical/
python compute_pn_corrections.py \
  --theory theory_params.am \
  --pn-config pn_config.am \
  --out pn_waveforms.ndjson \
  --oam pn_summary.am

python analyze_pn_tests.py \
  --pn-data pn_waveforms.ndjson \
  --pn-meta pn_summary.am \
  --exp-data pn_data/ligo_data.csv \
  --exp-meta pn_data/ligo_data.am \
  --out pn_analysis.ndjson \
  --oam pn_analysis.am

# 4. Generate strong-curvature models
cd ../strong_curvature/
python generate_2d_blackhole.py \
  --model-config blackhole_config.am \
  --out blackhole_data.ndjson \
  --oam blackhole_summary.am

python compare_strong_models.py \
  --models blackhole_data.ndjson \
  --meta blackhole_summary.am \
  --out unified_models.ndjson \
  --oam unified_summary.am

# 5. Inspect results
head ../sensitivity_comparison.ndjson
cat ../sensitivity_comparison.am
head pn_analysis.ndjson
head unified_models.ndjson

About

Multi-scale parameter sensitivity analysis for spacetime metrics. Studies parameter dependencies, stability regions, and sensitivity coefficients in relativistic field configurations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages