]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/math/matrices/matrices.factor
core: rename some words
[factor.git] / basis / math / matrices / matrices.factor
index 3d5c7439f990311d8bfcc57371569b90f5da2b63..c811027ec5dcf8db0e3705fef9477869adf2ab3e 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
@@ -132,8 +121,8 @@ ALIAS: transpose flip
   first-unsafe length <iota> ; inline
 
 : unshaped-cols-iota ( matrix -- cols-iota )
-  [ first-unsafe length ] keep
-  [ length min ] (each) (each-integer) <iota> ; inline
+  [ first-unsafe length ] keep
+  [ length min ] 1 each-from <iota> ; inline
 
 : generic-anti-transpose-unsafe ( cols-iota matrix -- newmatrix )
     [ <reversed> [ nth-end-unsafe ] with { } map-as ] curry { } map-as ; inline
@@ -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? [