自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 简易内存池的实现

简易内存池的C语言实现不论是基于Fortran的GAMESS还是基于C++的LAMMPS都有自己的内存管理,其基本都是基于内存池技术,这样做的好处在于提高内存的分配效率以及减少碎片化内存提高利用率,以下为一个简易内存池的使用。#ifndef _MEMORY_POOL_#define _MEMORY_POOL_#include <stdio.h>#include <stdlib.h>typedef struct chank chank_t;typedef struct

2022-01-22 16:07:14 867

原创 FFT的实现

在处理拉曼光谱数据时,用到了傅里叶变换降噪,于是编程实现了FFT,具体实现用的是Fortran,参考了算法导论非递归的方法,此方法较递归方法,节省了复制数组的时间,时间多项式系数小于递归方法。原理FFT采用了分治的方法,具体为以下的等式F[x]=F0[x0]+ωF1[x1]F[x]=F^0[x_0]+\omega F^1[x_1]F[x]=F0[x0​]+ωF1[x1​]其中:x0={x0,x2,x4,… }x_0=\{x_0,x_2,x_4,\dots\}x0​={x0​,x2​,x4​,…},x

2021-05-19 10:40:56 1058

原创 PLU-分解以及求逆矩阵

PLU-分解PLU-分解是对LU分解的一种改进,其增加了选主元的操作增加了计算的稳定性,及在第i次循环中将j=where(max⁡(∣A[i:n,i]∣))j=where(\max(|A[i:n,i]|))j=where(max(∣A[i:n,i]∣)) 行和第i行进行交换来比避免对角元素出现0的情况,计算结果PA=LUPA=LUPA=LUP为置换矩阵,L为下三角矩阵,U为上三角矩阵。选主元操作在计算过程中以一个一维数组保存代替n×nn\times nn×n的矩阵,以下为此算法的Fortran代码,

2021-02-03 11:28:32 3842 1

原创 LDL分解的Fortran代码

LDL分解的Fortran代码LDL分解是将一个对称矩阵分解为一个对角矩阵 DDD 和两个互为转置的三角阵 LLL, LTL^TLT 的乘积 A=LDLTA=LDL^TA=LDLT。具体做法可以看成将不断重复以下计算直到CiC_iCi​的规格为1×11\times 11×1,对于n×nn\times nn×n 的矩阵要重复n-1次[avTvCi]=[1ov/aE][aooCi+1][1vT/aoE]\left[ \begin{matrix}a&v^T\\v&C_i\end{matr

2021-02-01 12:31:00 748 2

原创 基组和分子结构的读取

在学习量子化学的过程中为了理解基组合输入文件是怎样传递信息的,以及C++文件的操作,我写了以下代码,针对gbs文件基组合mol分子文件进行读取,读取结果存在orb型变量中。以下为头文件:#pragma once#include <fstream>#include <iostream>#include <string>using namespace std;typedef struct node* atom;struct node{ int charge

2020-12-04 11:14:47 212

原创 多元不定方程求解

在图论问题中为求解多面体的结构,需要通过欧拉定理解不定方程。一下为解多元不定方程的python实现:欧几里得算法求最大公约数import numpy as npdef E_get(a,b): a=abs(a);b=abs(b)#取正 a_=max(a,b);b_=min(a,b) i=1 while (i!=0):#进行辗转相除 i=a_%b_ a_=b_;b_=i; return a_#输出最大公约数二元不定方程求解函数d

2020-10-10 17:52:09 990 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除