定制 galaxon/math 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

galaxon/math

最新稳定版本:v1.2.1

Composer 安装命令:

composer require galaxon/math

包简介

PHP classes for Complex and Rational number arithmetic, plus Vector and Matrix operations.

README 文档

README

Provides classes for Complex numbers, Rational numbers, Vectors, and Matrices.

License | Changelog | Documentation

PHP 8.4

Description

This package provides classes for working with complex numbers, rational numbers, vectors, and matrices in PHP.

Key Features:

  • Complex numbers - Full support for complex arithmetic, trigonometry, transcendental functions, and polar/rectangular conversions
  • Rational numbers - Exact fraction arithmetic using integer ratios, automatic simplification, and overflow detection
  • Vectors - Element-wise arithmetic, dot and cross products, and array-style access
  • Matrices - Matrix arithmetic, inverse, determinant, transpose, power, and matrix-vector multiplication
  • Type flexibility - Methods accept int, float, string, or the respective class type
  • Comprehensive testing - 100% code coverage with extensive test suites

Development and Quality Assurance / AI Disclosure

Claude Chat and Claude Code were used in the development of this package. The core classes were designed, coded, and commented primarily by the author, with Claude providing substantial assistance with code review, suggesting improvements, debugging, and generating tests and documentation. All code was thoroughly reviewed by the author, and validated using industry-standard tools including PHP_Codesniffer, PHPStan (to level 9), and PHPUnit to ensure full compliance with PSR-12 coding standards and comprehensive unit testing with 100% code coverage. This collaborative approach resulted in a high-quality, thoroughly-tested, and well-documented package delivered in significantly less time than traditional development methods.

Code Coverage

Requirements

  • PHP ^8.4
  • galaxon/core

Installation

composer require galaxon/math

Classes

Complex

Immutable class for complex numbers (a + bi) with support for:

  • Basic arithmetic operations (add, subtract, multiply, divide)
  • Transcendental functions (exp, ln, log, pow, roots)
  • Trigonometric and hyperbolic functions (sin, cos, tan, asin, acos, atan)
  • Polar and rectangular form conversions
  • Epsilon-based equality comparison
  • String parsing and formatting

Rational

Immutable class for rational numbers (p/q) with support for:

  • Exact arithmetic using integer ratios (no floating-point errors)
  • Automatic reduction to simplest form (e.g., 6/8 → 3/4)
  • Conversion to/from floats using continued fractions
  • Overflow-safe integer operations
  • Comparison operations with mixed types
  • String parsing and formatting

Vector

Mutable numeric vector with support for:

  • Element-wise arithmetic (add, subtract, scalar multiply, scalar divide)
  • Dot product and cross product operations
  • Exact and approximate equality comparison
  • Conversion to arrays and matrices
  • Array-style element access via the ArrayAccess interface
  • String representation using box-drawing characters

Matrix

Mutable two-dimensional matrix with support for:

  • Matrix arithmetic (add, subtract, multiply, divide)
  • Matrix-vector multiplication using column vector convention
  • Transpose, determinant, and inverse operations
  • Matrix power with binary exponentiation (including negative powers)
  • Row-level ArrayAccess interface (get/set rows as Vectors)
  • String representation using box-drawing characters

Testing

The library includes comprehensive test coverage:

# Run all tests
vendor/bin/phpunit

# Run tests for specific class
vendor/bin/phpunit tests/Complex
vendor/bin/phpunit tests/Rational
vendor/bin/phpunit tests/Vector
vendor/bin/phpunit tests/Matrix

# Run with coverage (generates HTML report and clover.xml)
composer test

License

MIT License - see LICENSE for details

Support

For questions or suggestions, please open an issue.

Changelog

See CHANGELOG.md for version history and changes.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-05

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固