我现在和Haskell合作已经有一段时间了,但我远非专家.但我发现编程的功能方法最适合我.
到目前为止,我正在研究一个项目来计算一些严重的东西,比如给定结构辐射的电流和电位.
我跟着Conal Elliott写的博客(这里是一些更多的线性地图),这是非常好的和基础的.
不幸的是,我缺少一个简单的例子:)
更确切地说,我有一条曲线
f:[0,1] in R -> R³
t -> a*e_y + 2*t*e_z
Run Code Online (Sandbox Code Playgroud)
这是(0,a,2*t)处的简单直线.当我想计算f的导数,例如用于曲线的长度,我知道数学结果,这是很简单的(0,0,2),但我要如何做到这一点在Haskell,尤其是与病媒太空包?
我真的很想使用这个库,因为它的功能,这正是我所采取的方法(但我在Haskell之路上并没有那么遥远)
到目前为止我所拥有的是:
{-# LANGUAGE Rank2Types, TypeOperators, FlexibleContexts, TypeFamilies #-}
{-# OPTIONS_GHC -Wall #-}
import Numeric.GSL.Integration
import Data.VectorSpace
import Data.Basis
import Data.Cross
import Data.Derivative
import Data.LinearMap
type Vec3 s = Three s
prec :: Double
prec = 1E-9
f1 :: (Floating s, VectorSpace s, Scalar s ~ s) => s -> s
f1 = id
c1 :: Double …Run Code Online (Sandbox Code Playgroud) haskell ×1