Skip to content

Conversation

@jbcaillau
Copy link
Member

Replace concrete Vector/Matrix types with AbstractVector/AbstractMatrix in all function signatures to support views, reshape, and other abstract array types. This enables operations on SubArray, ReshapedArray, and transposed arrays without creating copies.

Changes:

  • Updated ~40 method signatures from Vector/Matrix to Abstract variants
  • Added Union{Adjoint, Transpose} methods to resolve ambiguities
  • Documented 56 detected ambiguities (24 theoretical, 32 with specialized types like Diagonal/SparseVector that don't occur in practice)
  • Added comprehensive test suite for AbstractArray compatibility
  • Updated dimension mismatch tests to accept DimensionMismatch exception

All 439 tests pass. No breaking changes to existing functionality.

jbcaillau and others added 2 commits January 30, 2026 09:37
Replace concrete Vector/Matrix types with AbstractVector/AbstractMatrix
in all function signatures to support views, reshape, and other abstract
array types. This enables operations on SubArray, ReshapedArray, and
transposed arrays without creating copies.

Changes:
- Updated ~40 method signatures from Vector/Matrix to Abstract variants
- Added Union{Adjoint, Transpose} methods to resolve ambiguities
- Documented 56 detected ambiguities (24 theoretical, 32 with specialized
  types like Diagonal/SparseVector that don't occur in practice)
- Added comprehensive test suite for AbstractArray compatibility
- Updated dimension mismatch tests to accept DimensionMismatch exception

All 439 tests pass. No breaking changes to existing functionality.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Contributor

github-actions bot commented Jan 30, 2026

Breakage test results
Date: 2026-01-30 11:53:22

Name Latest Stable
OptimalControl compat: v0.7.2 compat: v0.7.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants