资源简介
应用ECOS求解器,求解二阶锥问题,程序中有备注,上传的是整个方案,可以直接使用VS2010打开
代码片段和文件信息
/* ========================================================================= */
/* === AMD_1 =============================================================== */
/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/* AMD Copyright (c) Timothy A. Davis */
/* Patrick R. Amestoy and Iain S. Duff. See ../README.txt for License. */
/* email: DrTimothyAldenDavis@gmail.com */
/* ------------------------------------------------------------------------- */
/* AMD_1: Construct A+A‘ for a sparse matrix A and perform the AMD ordering.
*
* The n-by-n sparse matrix A can be unsymmetric. It is stored in MATLAB-style
* compressed-column form with sorted row indices in each column and no
* duplicate entries. Diagonal entries may be present but they are ignored.
* Row indices of column j of A are stored in Ai [Ap [j] ... Ap [j+1]-1].
* Ap [0] must be zero and nz = Ap [n] is the number of entries in A. The
* size of the matrix n must be greater than or equal to zero.
*
* This routine must be preceded by a call to AMD_aat which computes the
* number of entries in each row/column in A+A‘ excluding the diagonal.
* Len [j] on input is the number of entries in row/column j of A+A‘. This
* routine constructs the matrix A+A‘ and then calls AMD_2. No error checking
* is performed (this was done in AMD_valid).
*/
#include “amd_internal.h“
GLOBAL void AMD_1
(
Int n /* n > 0 */
const Int Ap [ ] /* input of size n+1 not modified */
const Int Ai [ ] /* input of size nz = Ap [n] not modified */
Int P [ ] /* size n output permutation */
Int Pinv [ ] /* size n output inverse permutation */
Int Len [ ] /* size n input undefined on output */
Int slen /* slen >= sum (Len [0..n-1]) + 7n
* ideally slen = 1.2 * sum (Len) + 8n */
Int S [ ] /* size slen workspace */
double Control [ ] /* input array of size AMD_CONTROL */
double Info [ ] /* output array of size AMD_INFO */
)
{
Int i j k p pfree iwlen pj p1 p2 pj2 *Iw *Pe *Nv *Head
*Elen *Degree *s *W *Sp *Tp ;
/* --------------------------------------------------------------------- */
/* construct the matrix for AMD_2 */
/* --------------------------------------------------------------------- */
ASSERT (n > 0) ;
iwlen = slen - 6*n ;
s = S ;
Pe = s ; s += n ;
Nv = s ; s += n ;
Head = s ; s += n ;
Elen = s ; s += n ;
Degree = s ; s += n ;
W = s ; s += n ;
Iw = s ; s += iwlen ;
ASSERT (AMD_valid (n n Ap Ai) == AMD_OK) ;
/* construct the pointers for A+A‘ */
Sp = Nv ; /* use Nv and W as workspace for Sp and Tp [ */
Tp = W ;
pfree = 0 ;
for (j = 0 ; j < n ; j++)
{
Pe [j] = pfree ;
Sp 属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-26 10:45 ECOS_C++锥约束问题\
目录 0 2018-12-26 10:45 ECOS_C++锥约束问题\Debug\
文件 141312 2018-07-13 14:44 ECOS_C++锥约束问题\Debug\ECOS_C++.exe
文件 499492 2018-07-13 14:44 ECOS_C++锥约束问题\Debug\ECOS_C++.ilk
文件 1158144 2018-07-13 14:44 ECOS_C++锥约束问题\Debug\ECOS_C++.pdb
目录 0 2018-12-26 10:45 ECOS_C++锥约束问题\ECOS_C++\
文件 25448448 2018-07-13 15:14 ECOS_C++锥约束问题\ECOS_C++.sdf
文件 891 2017-11-12 11:11 ECOS_C++锥约束问题\ECOS_C++.sln
文件 94208 2018-07-13 15:14 ECOS_C++锥约束问题\ECOS_C++.suo
文件 18467 2017-11-12 13:24 ECOS_C++锥约束问题\ECOS_C++\amd.h
文件 5890 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_1.c
文件 66716 2017-11-12 13:25 ECOS_C++锥约束问题\ECOS_C++\amd_2.c
文件 5061 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_aat.c
文件 1849 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_control.c
文件 1290 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_defaults.c
文件 5191 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_dump.c
文件 3264 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_global.c
文件 4292 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_info.c
文件 9515 2017-11-12 13:29 ECOS_C++锥约束问题\ECOS_C++\amd_internal.h
文件 6107 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_order.c
文件 5715 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_postorder.c
文件 3823 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_post_tree.c
文件 3926 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_preprocess.c
文件 3072 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\amd_valid.c
文件 15277 2018-05-02 16:48 ECOS_C++锥约束问题\ECOS_C++\cone.c
文件 6290 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\cone.h
文件 2529 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\ctrlc.c
文件 1826 2015-08-06 10:42 ECOS_C++锥约束问题\ECOS_C++\ctrlc.h
文件 82557 2017-11-12 11:57 ECOS_C++锥约束问题\ECOS_C++\data.h
文件 1722 2017-12-22 22:14 ECOS_C++锥约束问题\ECOS_C++\dbgmalloc.c
目录 0 2018-12-26 10:45 ECOS_C++锥约束问题\ECOS_C++\Debug\
............此处省略107个文件信息
- 上一篇:基于DWT和MFCC的说话人识别系统
- 下一篇:MFCList可编辑列表控件
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
川公网安备 51152502000135号
评论
共有 条评论