A new Python data type (ScientificNumber) that extends Python's numeric types with comprehensive scientific computing capabilities. This type seamlessly integrates mathematical, statistical, and matrix operations into a single, intuitive interface.
Unlike regular Python numbers or NumPy arrays, ScientificNumber provides:
- Unified interface for scalar and matrix operations
- Built-in scientific constants and unit conversions
- Automatic type handling between different numerical representations
- Memory management for scientific calculations
- Comprehensive mathematical operations in a single type
- Basic arithmetic operations with type safety
- Matrix operations (determinant, rank, eigenvalues)
- Trigonometric functions
- Statistical functions
- Vector operations
- Unit conversions
- Physical constants
- Memory operations
pip install -r requirements.txtfrom scientific_calculator import ScientificNumber
from scientific_functions import *
# Create scientific numbers
x = ScientificNumber(5)
y = ScientificNumber(3)
# Basic Operations with automatic type handling
result = BasicOperations.add(x, y)
print(result.value) # Output: 8
# Matrix creation and operations
matrix = ScientificNumber(np.array([[1, 2], [3, 4]])) # Create from numpy array
# Or use the utility function
matrix = MatrixOperations.create_matrix(2, 2, [1, 2, 3, 4])
# Matrix operations return ScientificNumber
determinant = MatrixOperations.determinant(matrix)
rank = MatrixOperations.rank(matrix)
eigenvalues = MatrixOperations.eigenvalues(matrix)
# Trigonometric operations with automatic unit handling
angle = ScientificNumber(45) # degrees
rad = TrigonometricFunctions.deg_to_rad(angle)
sin_value = TrigonometricFunctions.sin(rad)
# Statistical operations on lists or arrays
data = [1, 2, 3, 4, 5]
mean = StatisticalFunctions.mean(data)
std_dev = StatisticalFunctions.std_dev(data)The ScientificNumber type provides:
- Type Safety: Automatically handles type conversions and validates operations
- Matrix Support: Seamlessly works with both scalar and matrix values
- Operation History: Tracks calculations for debugging and analysis
- Memory Management: Built-in memory operations for scientific calculations
- Constants: Access to physical and mathematical constants
- Unit Conversions: Built-in unit conversion capabilities
ScientificNumber: Core data type that encapsulates numerical valuesBasicOperations: Arithmetic operations for the new typeMatrixOperations: Matrix manipulations preserving type safetyTrigonometricFunctions: Trigonometric calculations with unit handlingStatisticalFunctions: Statistical computations on collectionsSpecialFunctions: Special mathematical functionsVectorOperations: Vector calculationsUnitConversion: Unit conversion utilitiesConstants: Physical and mathematical constantsMemoryOperations: Memory management functions
- Python 3.6+
- NumPy
- SciPy
- SymPy
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.