src/norms.rs

branch
dev
changeset 138
593912dc3293
parent 124
6aa955ad8122
child 145
0b9aecd7bb76
--- a/src/norms.rs	Mon May 12 20:40:14 2025 -0500
+++ b/src/norms.rs	Mon May 12 23:29:17 2025 -0500
@@ -3,6 +3,7 @@
 */
 
 use crate::euclidean::*;
+use crate::linops::AXPY;
 use crate::mapping::{Instance, Mapping, Space};
 use crate::types::*;
 use serde::{Deserialize, Serialize};
@@ -231,8 +232,10 @@
     }
 }
 
-pub trait HasDual<F: Num = f64>: Normed<F> {
-    type DualSpace: Normed<F>;
+pub trait HasDual<F: Num = f64>: Normed<F> + AXPY<Field = F> {
+    type DualSpace: Normed<F> + AXPY<Field = F>;
+
+    fn dual_origin(&self) -> <Self::DualSpace as AXPY>::Owned;
 }
 
 /// Automatically implemented trait for reflexive spaces

mercurial