资源简介
应用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可编辑列表控件
相关资源
- 五子棋mfc,带ai,附教程
- c++ 编写的自动售货机程序
- accelerated c++ 英文版及源码
- 摄影测量 单向空间后方交会程序
- DICOM图像c++打开程序
- VC++药品信息管理系统源码
- c++数据结构实现经典背包问题
- C++矩阵处理工具——Eigen3
- 数据结构课程设计:表达式求值,C
- 《Visual C++ OpenGL DirectX三维动画编程宝
- 农夫过河狼,羊,菜C++实现
- n皇后动态可视化 简单 C++ MFC
- opencv视觉定位,C++编写的
- svm算法源代码VC++实现
- opengl做的迷宫游戏,基于C++
- (LSB算法)数字水印的VC++实现
- visual c++ 网络编程 郑阿奇 源码
- Effective C++ 中英文,mobi格式,适合k
- VC++MFC最好最全入门教程
- 飞行棋c++代码
- VC++实现打印
- 简单本地DNS服务器实现代码C++
-
用c++实现的简单xm
l解析 - 狼吃羊游戏C++实现
- C++二维基本几何变换算法
- USB视频设备采集图像VisualC++程序
- 对战坦克大战源代码(vc++)
- Visual Studio C++ 2010入门教程(修订版)
- IP地址查询 C++源代码
- windows 讯飞语音听写和微软sapi c++ 实现
评论
共有 条评论