Verified Commit 1e78d061 authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

Merge branch 'dev' into 303-dev-node-story-refactoring

parents 8b6fdb1b 39fc144f
Pipeline #5636 passed with stages
in 92 minutes and 13 seconds
## Version 0.0.6.9.9.9.6.1
* [BACK][FEAT][Removing Order2_A and Order2_B and use Order2 only instead (#308)](https://gitlab.iscpif.fr/gargantext/haskell-gargantext/issues/308)
## Version 0.0.6.9.9.9.6
* [FIX] Graph Order 2B to remove Order 2A.
* [BACK][FEAT][Removing Order2_A and Order2_B and use Order2 only instead (#308)](https://gitlab.iscpif.fr/gargantext/haskell-gargantext/issues/308)
## Version 0.0.6.9.9.9.5
......
......@@ -5,7 +5,7 @@ cabal-version: 3.4
-- see: https://github.com/sol/hpack
name: gargantext
version: 0.0.6.9.9.9.6
version: 0.0.6.9.9.9.6.1
synopsis: Search, map, share
description: Please see README.md
category: Data
......
......@@ -31,19 +31,17 @@ import Test.QuickCheck.Arbitrary
import qualified Data.Text as Text
------------------------------------------------------------------------
data Similarity = Conditional | Distributional_A | Distributional_B
data Similarity = Conditional | Distributional
deriving (Show, Eq)
measure :: Similarity -> Matrix Int -> Matrix Double
measure Conditional x = measureConditional x
measure Distributional_A x = logDistributional2 1 x
measure Distributional_B x = logDistributional2 0 x
measure Conditional x = measureConditional x
measure Distributional x = logDistributional2 x
------------------------------------------------------------------------
withMetric :: GraphMetric -> Similarity
withMetric Order1 = Conditional
withMetric Order2_A = Distributional_A
withMetric _ = Distributional_B
withMetric Order1 = Conditional
withMetric _ = Distributional
------------------------------------------------------------------------
-- Order2 type is for keeping Database json compatibility
......
......@@ -168,16 +168,16 @@ distributional m' = run $ result
result = termDivNan z_1 z_2
logDistributional2 :: Exp Double -> Matrix Int -> Matrix Double
logDistributional2 o m = trace ("logDistributional2, dim=" `mappend` show n) . run
$ diagNull n
$ matMaxMini
$ logDistributional' o n m
logDistributional2 :: Matrix Int -> Matrix Double
logDistributional2 m = trace ("logDistributional2, dim=" `mappend` show n) . run
$ diagNull n
$ matMaxMini
$ logDistributional' n m
where
n = dim m
logDistributional' :: Exp Double -> Int -> Matrix Int -> Acc (Matrix Double)
logDistributional' o n m' = trace ("logDistributional'") result
logDistributional' :: Int -> Matrix Int -> Acc (Matrix Double)
logDistributional' n m' = trace ("logDistributional'") result
where
-- From Matrix Int to Matrix Double, i.e :
-- m :: Matrix Int -> Matrix Double
......@@ -204,7 +204,7 @@ logDistributional' o n m' = trace ("logDistributional'") result
-- m_{i,j} = 0 if n_{i,j} = 0 or i = j,
-- m_{i,j} = log(to * n_{i,j} / s_{i,j}) otherwise.
mi = (.*) (matrixEye n)
(map (lift1 (\x -> let x' = o + x * to in cond (x' < 1) 0 (log x'))) ((./) m ss))
(map (lift1 (\x -> let x' = x * to in cond (x' < 1) 0 (log x'))) ((./) m ss))
-- mi_nnz :: Int
-- mi_nnz = flip indexArray Z . run $
-- foldAll (+) 0 $ map (\a -> ifThenElse (abs a < 10^(-6 :: Exp Int)) 0 1) mi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment