Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >具有Math.net的多元正态分布

具有Math.net的多元正态分布
EN

Stack Overflow用户
提问于 2012-06-30 11:47:50
回答 1查看 1.7K关注 0票数 0

我插入Math.net做一些抽样,我只是不明白它的工作方式.我在这里错过了什么?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let mm  =  Double.DenseMatrix.Identity(2)
let ida =  Double.DenseMatrix.Identity(2)
let idb =  Double.DenseMatrix.Identity(2)
let generator = MatrixNormal(mm, ida, idb)
generator.Density(mm)

我得到了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
System.ArgumentOutOfRangeException: Matrix dimensions must agree.
Parameter name: x
   at MathNet.Numerics.Distributions.MatrixNormal.Density(Matrix`1 x) in c:\TeamCity\buildAgent\work\392bcd0e1411b00f\src\Numerics\Distributions\Multivariate\MatrixNormal.cs:line 241
   at <StartupCode$FSI_0079>.$FSI_0079.main@()
Stopped due to error

奇怪的是,当我查看github源代码时,就会抛出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  public double Density(Matrix<double> x)        { 
       if (x.RowCount != _m.RowCount || x.ColumnCount != _m.ColumnCount) 
       {                
           throw Matrix.DimensionsDontMatch<ArgumentOutOfRangeException>(x, _m, "x");                         
       }

编辑

在重新启动一切之后,它对2*2矩阵的均值起作用,但对2*1 (调整列方差后)不起作用。非常奇怪的是,在定义上有一些维度检查。然而,错误消息是在调用时出现的。可能是检查错误行方差和列方差,并在调用时使用正确的。所有这些都突出了富类型检查的强大优势。

对于好奇的人来说,这里是一个多元的实现。不过还没查过。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let sampleNormal = 
   let rnd = new MersenneTwister()
   fun () ->
      let rec randomNormal () = 
          let u1, u2 = rnd.NextDouble(),rnd.NextDouble()
          let r = sqrt (-2. * (log u1))
          let theta = 2. * System.Math.PI * u2  
          seq { yield r * sin theta
                yield r * cos theta 
                yield! randomNormal() }
      randomNormal ()


let generate covar = 
   let chol = Double.Factorization.DenseCholesky(covar)
   let a = chol.Factor
   fun () -> let v = vector ( sampleNormal() |> Seq.take(covar.ColumnCount) |> List.ofSeq )
             a * v
//generate covar  

let generatecovar = generate covar
let generaten n covar = Seq.init n (fun _ -> generatecovar ()) 

编辑

Cholesky对于完全相关的输入失败,这是可以的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let mapply (m:Generic.Matrix<float>) f = m.IndexedEnumerator() |> Seq.iter(fun (i,j,v) -> m.[i,j] <- f v ); m

let generate (covar:Generic.Matrix<float>) = 
   let R = if covar.Determinant() = 0. then   // we want covar = R.RT  // C = U D1/2.D1/2 U' = (RT.QT) Q.R = RT.RTT  
               let u, d, vt = let t = covar.Svd(true) in t.U(), t.W(), t.VT()  
               let A = (mapply d sqrt) * u.Transpose()                    
               let qr = A.QR() in qr.R.Transpose()                                 
            else
               let chol = covar.Cholesky()
               chol.Factor
   fun () -> let v = vector ( sampleNormal() |> Seq.take(covar.ColumnCount) |> List.ofSeq )
             R * v
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-30 12:55:19

我找不到你的代码有什么问题。您确定正在运行正确的代码吗?可能是库代码的错误版本,甚至是你自己的版本?尝试重新启动FSI,甚至重新编译库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11277146

复制
相关文章
Java调用SharePoint WebService获取文件和文件夹
上一篇博文中已经介绍了Java调用SharePoint WebService获取文件 https://blog.csdn.net/chengyuqiang/article/details/79894090
程裕强
2022/05/06
7920
如何将PostgreSQL数据目录移动到Ubuntu 18.04上的新位置
数据库随着时间的推移而增长,有时会超出原始文件系统的空间。当它们与操作系统的其余部分位于同一分区时,这也可能导致I / O争用。
大瓜皮
2018/10/19
2.3K0
如何将asp.net的后台cs代码移动到页面上
在做项目时,我们一般会将aspx文件和其后台cs文件分开,然后将后台的cs文件编译成dll发布到生产环境中。如果我们的项目规定是每周1发布一次,现在发布后第二天客户在其中某个页面发现一个Bug导致业务无法正常处理,这个时候我们的项目正在添加新的功能,编码还没有完成,不可能为了这一个页面而将这没有完成的整个项目重新发布到生产环境中,这个时候怎么办拉? 我们知道aspx运行有两种模式,一种是编译运行,一种是解释运行.编译运行就是我们将后台c#代码编译成Dll,在aspx页面运行时调用这个dll来执行.而解释执行就是像是asp一样将后台代码和页面代码放在同一个aspx页面上,由IIS解释c#代码来运行.于是我们想到的解决办法就是专门针对这个页面把其后台CS代码中的bug修正,测试没有问题了,然后将后台cs文件转移到aspx文件中,让将这个新的aspx文件复制到正式环境中,覆盖原来错误的aspx文件。 将后台的cs代码转移到页面上主要是做如下操作: 1.去掉aspx头Page部分的CodeFile属性,这个属性指示了页面的后台文件的文件名. 2.在Page中添加Inherits属性,这个属性的值是页面后台文件的父类,如果页面的父类是System.Web.UI.Page,那么可以不加这个属性. 3.将后台代码所使用的名字空间添加到aspx的头,使用<%@ Import Namespace="名字空间" %>进行引入. 4.在aspx页面的最下面添加<script runat="server"></script>,然后将后台代码中类里面的所有变量,属性,方法等等都放在script中. 通过以上几步我们就可以将后台cs文件转移到aspx页面上,这样让IIS直接解释aspx文件执行,而不是通过调用发布后的dll执行. 出于平时需要即时修改一个单独页面,所以我写了一个小程序来自动转换后台cs文件到aspx文件中. 比如一个页面:
深蓝studyzy
2022/06/15
1.1K0
问与答65: 如何将指定文件夹中的文件移至目标文件夹?
Q:如下图1所示,在工作表列A中存储着需要移动的文件所在的文件夹路径,列B中是要将文件移到的目标文件夹路径,现在需要将列A中文件夹下的文件移到列B中文件夹内,如何实现?
fanjy
2019/09/03
2.4K0
问与答65: 如何将指定文件夹中的文件移至目标文件夹?
巧用符号链接移动文件夹位置
有些时候我们可能因为系统或者某些软件的缓存占得比较多,想把他们从C盘移动到其他地方。但是软件本身并没有提供修改缓存文件夹的功能。这下应该怎么办呢?其实还真有一个好办法可以完美解决,这就是今天要为大家介绍的符号链接。
乐百川
2020/04/24
2.2K0
sharepoint 分享时拥有链接的任何人提示 组织正在阻止你选择
以全局或 SharePoint 管理员的身份登录 https://admin.microsoft.com
暮城
2022/03/07
1.8K0
sharepoint 分享时拥有链接的任何人提示 组织正在阻止你选择
SharePoint BreadCrumb
Breadcrumbs 典型地会水平低在网页的顶部出现, 通常在title栏或者headers栏的下方. 他们提供链接来回到之前用户导航路径上的任何一个页面- 或者是提供层次的站点结构- 当前页面的父页面. Breadcrumbs提供给用户一个路径线索来回到起始点上. 通常用大于号(>)来做层次间的分隔符, 有些设计者或许活用另外的字型(比如说>>), 或者各种不同的图形化的方案.
全栈程序员站长
2022/07/04
8530
SharePoint BreadCrumb
如何将finecms链接URL中的list和show去掉
  finecms上手还算比较快吧,对seo关注的朋友会想着将它的url改造了,里面多了-list-和-show-,可以直接去掉,下面就随着ytkah一起来进行设置吧。   首先到后台的url规则,将
ytkah
2018/03/06
1.4K0
如何将finecms链接URL中的list和show去掉
当鼠标移动到div或者超链接只上时,显示相应的鼠标形状
林老师带你学编程
2018/01/03
2.4K0
SharePoint下用C#代码上传文档至文档库的子文件夹中
SharePoint的文档库非常方便,可以管理日常的文档,更强大的是可以创建文件夹来分类,通常在UI界面上是非常简单了,点击文件夹,Create a Folder即可。但是,怎样手动去创建文件夹呢,怎
用户1161731
2018/01/11
2K0
SharePoint下用C#代码上传文档至文档库的子文件夹中
SharePoint Foundation 2010
下图是一张SharePoint 2010基本架构图,它简要的描述出了SharePoint 2010的基本结构。SharePoint Foundation在之前的版本中,被称为Windows Share
张善友
2018/01/22
1K0
SharePoint Foundation 2010
Roslyn 引用某个文件夹所有文件作为链接
在 SDK 格式的项目文件可以通过简单代码引用某个文件夹里面指定后缀的文件作为项目文件
林德熙
2020/04/26
8790
python移动文件,将一个文件夹里面的文件移动到另一个文件夹
python移动文件,将一个文件夹里面的文件移动到另一个文件夹 import shutil import os def remove_file(old_path, new_path): print(old_path) print(new_path) filelist = os.listdir(old_path) #列出该目录下的所有文件,listdir返回的文件列表是不包含路径的。 print(filelist) for file in filelist:
青阳
2021/04/02
29.2K0
Power BI里如何将报表发布成公开链接?
这本来是一个比较简单的问题,但是,因为很多朋友接触Power BI还是比较少,而且,这个操作既涉及本地发布,又涉及云端发布,还是有点儿周折,所以,借群里朋友的提问,将具体操作过程记录如下,供新接触Power BI的朋友参考,也省去自己摸索的过程:
大海Power
2021/08/30
4.2K0
如何将WordPress固定链接格式修改为.html结尾
之前一直采用 自定义结构 http://www.xiaohulizyw.cn/%category%/%postname%/  的URL结构形式,为了优化URL结构,特意将其修改为 http://www.xiaohulizyw.cn/%category%/%postname%.html,即以.html结尾,具体见上图。
小狐狸说事
2022/11/17
1.2K0
如何将WordPress固定链接格式修改为.html结尾
dotnet 6 使用 CreateSymbolicLink 创建文件夹符号链接
本文告诉大家如何使用 dotnet 6 提供的 Directory.CreateSymbolicLink 和 File.CreateSymbolicLink 方法创建文件夹和文件的符号链接
林德熙
2021/11/10
9760
linux删除软连接命令_linux删除链接文件夹
软连接已生效,可以看到修改zzz.txt,zcw也跟着一起修改。 删除软连接: 正确删除软连接的方法: 1.unlink(最保险的方式) # unlink 链接源 原文件或目录 unlink zcw
全栈程序员站长
2022/11/10
32.4K0
linux删除软连接命令_linux删除链接文件夹
浅谈测试前移
bug 太多,懒得写 bug 单,很多需求合理性的验证都放到测试阶段,比如文案的测试,逻辑实现的健壮性也是留在了测试阶段,稍微一点异常就容易挂掉,然后就是各种改,提测次数频繁。
sylan215
2020/03/03
1.2K0
搭建 Microsoft SharePoint 2016
本文档介绍如何在云服务器实例上搭建 Microsoft SharePoint 2016。
用户10230909
2023/04/26
2.5K0
SharePoint 2013 Farm 安装指南——构建一个双层SharePoint Farm
最近要对公司里的SharePoint进行升级,由于旧的系统SharePoint 2010已经有2年了,上面改动比较多,而且权限也很混乱了,所以下定决心要对其做一次升级,重新部署一台新的SharePoint 2013 Server。  2014-11 Update :安装配置时Service Account请参考如下文章: SharePoint 2013 Farm 安装指南——Least Privilege 目前采用以下配置 1台独立的Domain Controller服务器(Windows Serve
用户1161731
2018/01/11
1.6K0
SharePoint 2013 Farm 安装指南——构建一个双层SharePoint Farm

相似问题

SharePoint -检索文件夹的共享链接

31

SharePoint中的共享文件夹链接

31

Sharepoint -文件夹链接无法解析

114

发送Sharepoint文件夹的共享链接

10

SharePoint 2010年至2013年SharePoint移徙

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文