| name | numpy-numerical-analysis |
| version | 1.0.0 |
| description | NumPy for matrix operations, FFT, linear algebra, and numerical computations in marine engineering |
| type | reference |
| author | workspace-hub |
| category | data |
| tags | ["numpy","numerical-analysis","matrix-operations","fft","linear-algebra","engineering"] |
| platforms | ["python"] |
| capabilities | [] |
| requires | [] |
Numpy Numerical Analysis
When to Use This Skill
Use NumPy numerical analysis when you need:
- Matrix operations - 6DOF equations of motion, mass matrices, stiffness matrices
- FFT analysis - Frequency domain analysis, spectral density, response spectra
- Linear algebra - Solve linear systems, eigenvalue analysis, matrix decomposition
- Array operations - Efficient computations on large datasets
- Numerical integration - Time-stepping, ODE solvers
- Signal processing - Filtering, windowing, convolution
Avoid when:
- Symbolic mathematics needed (use SymPy)
- Sparse matrices dominate (use SciPy sparse)
- GPU acceleration required (use CuPy or JAX)
- Distributed computing needed (use Dask)
Complete Examples
Example 1: 6DOF Time-Domain Simulation
import numpy as np
import plotly.graph_objects as go
def simulate_6dof_vessel_motion(
mass_matrix: np.ndarray,
damping_matrix: np.ndarray,
stiffness_matrix: np.ndarray,
force_time_series: np.ndarray,
time: np.ndarray
*See sub-skills for full details.*
```python
def calculate_rao_from_time_series(
wave_elevation: np.ndarray,
vessel_response: np.ndarray,
dt: float
) -> tuple[np.ndarray, np.ndarray]:
"""
Calculate Response Amplitude Operator (RAO) from time series.
RAO(ω) = |Response(ω)| / |Wave(ω)|
*See sub-skills for full details.*
### Example 3: Mooring Stiffness Matrix
```python
def calculate_mooring_stiffness_matrix(
num_lines: int,
pretension: float,
fairlead_radius: float,
fairlead_depth: float,
line_azimuth: np.ndarray,
weight_per_length: float
) -> np.ndarray:
"""
*See sub-skills for full details.*
```python
def extreme_value_statistics(
data: np.ndarray,
method: =
) -> :
Convolve impulse response force time series.
Response() = ∫ h() * F() dτ
*See sub-skills full details.*
- **NumPy Documentation**: https://numpy.org/doc/
- **NumPy MATLAB Users**: https://numpy.org/doc/stable/user/numpy--matlab-users.html
- **Linear Algebra**: https://numpy.org/doc/stable/reference/routines.linalg.html
- **FFT Module**: https://numpy.org/doc/stable/reference/routines.fft.html
- **SciPy ()**: https://scipy.org/
---
**Use this skill numerical computations DigitalModel!**
- [ Array Creation Operations ()]()
- [ 6DOF Equations of Motion]()
- [ FFT Frequency Analysis]()
- [ Linear Algebra Operations]()
- [ Numerical Integration]()
- [ Use Vectorization ()]()