]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/math/matrices/matrices.factor
factor: trim using lists
[factor.git] / basis / math / matrices / matrices.factor
index 3d5c7439f990311d8bfcc57371569b90f5da2b63..eeddbc06cd0222434eba17da402d2d74b0a8ceb3 100644 (file)
@@ -1,19 +1,8 @@
 ! Copyright (C) 2005, 2010, 2018, 2020 Slava Pestov, Joe Groff, and Cat Stevens.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays classes.singleton columns combinators
-combinators.short-circuit combinators.smart formatting fry
-<<<<<<< HEAD
-grouping kernel locals math math.bits math.functions math.order
-math.private math.ranges math.statistics math.vectors
-math.vectors.private sequences sequences.deep sequences.private
-slots.private summary ;
-=======
-grouping kernel kernel.private locals math math.bits
-math.functions math.order math.private math.ranges
-math.statistics math.vectors math.vectors.private sequences
-sequences.deep sequences.extras sequences.private slots.private
-summary ;
->>>>>>> 0ac3067a26 (vnorm rename)
+USING: arrays combinators combinators.short-circuit kernel math
+math.functions math.order math.private math.vectors ranges
+sequences sequences.deep sequences.private slots.private ;
 IN: math.matrices
 
 ! defined here because of issue #1943
@@ -198,7 +187,7 @@ M: matrix <square-cols>
 
 <PRIVATE ! implementation details of <lower-matrix> and <upper-matrix>
 : dimension-range ( matrix -- dim range )
-    dimension [ <coordinate-matrix> ] [ first [1,b] ] bi ;
+    dimension [ <coordinate-matrix> ] [ first [1..b] ] bi ;
 
 : upper-matrix-indices ( matrix -- matrix' )
     dimension-range <reversed> [ tail-slice* >array ] 2map concat ;
@@ -283,14 +272,14 @@ DEFER: matrix-set-nths
         [ [ sq ] map-sum ] map-sum sqrt
     ] if ; inline foldable
 
-M: zero-matrix l1-norm drop 0 ; inline
-M: matrix l1-norm matrix-l1-norm ; inline
+! XXX: M: zero-matrix l1-norm drop 0 ; inline
+! XXX: M: matrix l1-norm matrix-l1-norm ; inline
 
-M: zero-matrix l2-norm drop 0 ; inline
-M: matrix l2-norm matrix-l2-norm ; inline
+! XXX: M: zero-matrix l2-norm drop 0 ; inline
+! XXX: M: matrix l2-norm matrix-l2-norm ; inline
 
-M: zero-matrix l-infinity-norm drop 0 ; inline
-M: matrix l-infinity-norm matrix-l-infinity-norm ; inline
+! XXX: M: zero-matrix l-infinity-norm drop 0 ; inline
+! XXX: M: matrix l-infinity-norm matrix-l-infinity-norm ; inline
 
 ALIAS: frobenius-norm matrix-l2-norm
 ALIAS: hilbert-schmidt-norm matrix-l2-norm
@@ -303,8 +292,8 @@ ALIAS: hilbert-schmidt-norm matrix-l2-norm
 : matrix-p-norm-entrywise ( m p -- n )
     [ flatten1 V{ } like ] dip p-norm-default ; inline
 
-M: zero-matrix p-norm-default 2drop 0 ; inline
-M: matrix p-norm-default matrix-p-norm-entrywise ; inline
+! XXX: M: zero-matrix p-norm-default 2drop 0 ; inline
+! XXX: M: matrix p-norm-default matrix-p-norm-entrywise ; inline
 
 : matrix-p-norm ( m p -- n )
     over zero-matrix? [ 2drop 0 ] [
@@ -316,8 +305,8 @@ M: matrix p-norm-default matrix-p-norm-entrywise ; inline
         } cond
     ] if ; inline foldable
 
-M: zero-matrix p-norm 2drop 0 ; inline
-M: matrix p-norm matrix-p-norm ; inline
+! XXX: M: zero-matrix p-norm 2drop 0 ; inline
+! XXX: M: matrix p-norm matrix-p-norm ; inline
 
 : matrix-normalize ( m -- m' )
     dup zero-matrix? [