dimforge / dimforge/nalgebra

Can't invoke solve methods on fixed-width matrices

Open
#849 4 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue P-medium
Dominant language
Rust
Stars
4.8k
Forks
565
PR merge metrics
No merged PRs in 30d

Description

Simplified example:

```rust
let test_image_matrix = nalgebra::MatrixXx3::from_element(10, 0.0);
let mut db_x_column = nalgebra::MatrixXx1::from_element(10, 0.0);

anyhow::ensure!(test_image_matrix.qr().solve_mut(&mut db_x_column));
```

gives:

```
error[E0599]: no method named `solve_mut` found for struct `QR<{float}, Dynamic, nalgebra::U3>` in the current scope
--> examples\polygons.rs:351:44
|
351 | anyhow::ensure!(test_image_matrix.qr().solve_mut(&mut db_x_column));
| ^^^^^^^^^ method not found in `QR<{float}, Dynamic, nalgebra::U3>`
```

If changing to fully qualified method path, I can get slightly more precise error:

```rust
let test_image_matrix = nalgebra::MatrixXx3::from_element(10, 0.0);
let mut db_x_column = nalgebra::MatrixXx1::from_element(10, 0.0);

anyhow::ensure!(nalgebra::QR::solve_mut(&test_image_matrix.qr(), &mut db_x_column));
```

```
error[E0308]: mismatched types
--> examples\polygons.rs:351:45
|
351 | anyhow::ensure!(nalgebra::QR::solve_mut(&test_image_matrix.qr(), &mut db_x_column));
| ^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Dynamic`, found struct `nalgebra::U3`
|
= note: expected reference `&QR<_, _, _>`
found reference `&QR<{float}, Dynamic, nalgebra::U3>`
```

So it appears that it wants the 2nd dimension to be `Dynamic` not fixed `U3`?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.