
Julia系列
文章平均质量分 67
julia语言从入门到放弃
IE06
运筹+大数据+深度学习+机器学习+图像
展开
-
julia系列17: tsp问题代码整理
这里是老版的函数接下来设计一下基本数据结构。上述路径使用Array来存储的,原创 2024-07-07 20:35:23 · 456 阅读 · 0 评论 -
Julia系列16:Julia与python/c互调
通过PyCall包,Julia可以直接调用Python包。数值、布尔、字符串、IO stream、函数、元组、数组或列表、以及包含这些类型的字典等,它们都会自动进行类型的转换(Python函数会被转换或传递为Julia的函数,反之亦然)。其它类型则是通过通用的PyObject提供的。原创 2024-01-15 12:41:14 · 823 阅读 · 0 评论 -
Julia系列15:深度学习框架flux
定义函数的函数,两层函数分别对应参数和变量Wbend。原创 2023-10-23 17:21:55 · 615 阅读 · 0 评论 -
Julia系列14:调用自定义C/C++库
接着是输出数组,需要使用unsafe_wrap进行转换,并且需要用GC.@perserve防止垃圾回收。Clang.getTranslationUnitCursor方法可以获得其根节点。首先是输入数组,注意需要convert。二维数组需要在C中注意编号。原创 2023-05-30 18:00:10 · 1235 阅读 · 2 评论 -
Julia系列13:使用B&B包求解MIP问题
Benders分解用于处理如下约束格式,蓝色部分称为linking variables,常常是难处理的整数变量。我们假设模型如下,其中x为主问题变量:给定一个x,子问题为:注意这个子问题对x的导数为−A1π,使用泰勒展开有:将结果返回到主问题中,得到用于迭代的主问题:流程为:求解V1K−1得到xk,代入V2x并求解得到πk,添加一条约束后得到V1K。最开始的主问题解使用θM的约束求解。原创 2023-03-30 07:31:27 · 373 阅读 · 0 评论 -
julia系列12:聚类算法包
【代码】julia系列12:聚类算法包。原创 2023-03-12 22:01:17 · 432 阅读 · 0 评论 -
julia系列11:struct和类
initialization也可以使用new函数,放在struct内部。有三种方式,第一种是new并放在前面(可变参数)参考https://juliahub.com/ui/Packages/Classes/FemUz/1.4.0。第二种是new并放在后面(重载)第三种是使用@kwdef。原创 2023-02-27 23:18:22 · 1353 阅读 · 0 评论 -
julia系列10:apple m1 gpu编程
首先去官网,找到对应的版本下载,苹果m1芯片对应的M-series然后打开jupyter,就可以新建julia页面了。原创 2022-08-24 19:15:04 · 1045 阅读 · 0 评论 -
julia系列9:图论包
一些小技巧:using ProgressMeter@showprogress 1 "Retrieving Julian info..." for ...using JSON# write to fileuserdata = Dict("nodes"=>usernodes, "links"=>userlinks)open("Julians.json", "w") do f JSON.print(f, userdata, 2)end用D3进行可视化:教程参见https:/原创 2021-06-16 15:45:33 · 1057 阅读 · 0 评论 -
julia系列8:交互界面
1. 安装打开julia,进入pkg模式,然后add Pluto,然后运行import Pluto;Pluto.run();然后打开localhost:1234,界面如下:2. 基本操作2.1 markdownusing Markdownmd"里面是markdown的内容"2.2 交互使用@bind + html原创 2021-06-16 16:01:02 · 1929 阅读 · 0 评论 -
julia系列7:使用GPU
1. 快速上手源码地址:https://github.com/exanauts/Simplex.jl,使用julia实现。git clone https://github.com/exanauts/Simplex.jl下载源码,然后cd netlib,运行gcc emps.c -o emps运行./get.sh下载例子,如果下载不下来,按照下图修改代码:测试报告使用netlib.jl进行打印:......原创 2020-12-30 19:39:18 · 1608 阅读 · 1 评论 -
julia系列6:并行计算
协程也称为任务,如果一个计算以任务的方式执行,那它就很可能会被其他任务中断,原先的任务在恢复后,会。这种过程看似很像函数调用,但有两点不同1)任务切换不需要任何空间,因此可以完成任意数量任务的切换,而且无需考虑堆栈问题。2)任务切换可以按照任何顺序来进行。任务比较适合生产者-消费者模式,一个过程用来生产值,另一个用来消费值。消费者不能简单的调用生产者来得到值,因为两者的执行时间不一定协同,但是在任务中,两者则可以正常运行。...原创 2022-08-01 17:12:13 · 849 阅读 · 0 评论 -
julia系列5:文本、图像、其他语言函数互动
语法和python很像,读文件使用open-readlines-close,写文件使用open-println(file,data)-close使用DelimitedFiles包中的readlm()读取csv文件。原创 2022-08-01 17:09:02 · 467 阅读 · 0 评论 -
julia系列4:数学计算
我们还可以显式地声明下面地矩阵Diagonal(对角矩阵),Symmetric(对称矩阵),Hermitian(埃尔米特矩阵)Tridiagonal(三对角矩阵),SymTridiagonal(对称三角矩阵)[SymTridiagonal只能作用于对称矩阵]注意julia中的slice是copy操作,引用操作需要使用view。.........原创 2020-08-12 08:12:28 · 1784 阅读 · 0 评论 -
julia系列3:函数、模块与宏
复合表达式 使用 和 或者使用小括号:和 为循环关键字,用end结束,没有:符号并且不需要缩进:python中的range(N)在julia中用1:N表示,数据类型为UnitRange或者StepRange,和array一起可用于范围遍历。注意array和range的下标从1开始,和python不一样。关键字为 和 使用定义函数,用两个冒号来断言具体变量类型(注意不是声明!julia的变量没有类型)使用@doc funcname可以看到函数前面的注释。local变量可以强制转类型,需要先声明原创 2022-08-01 16:48:08 · 1007 阅读 · 0 评论 -
julia系列2:数据结构
在Julia中,常量是一种特殊的变量。原创 2022-08-01 16:43:11 · 607 阅读 · 0 评论 -
julia系列1:介绍与安装
Julia是麻省理工学院计算机科学和人工智能实验室(Csil)开发和孵化的一种免费开放源码语言,于2012年发布,目标是结合C的速度与Python的可用性、Ruby的动态性、MATLAB的数学能力和R的统计能力。麻省理工学院说Julia是“petaflopclub“中唯一的高级动态语言,在世界第10大超级计算机Cori上被用来模拟1.88亿颗恒星、星系和其他天体,模拟运行只需14.6分钟,使用650000KnightsLandingXeonPhi核,有1.5千兆秒的运算(每秒四万亿次浮点运算)。......原创 2022-08-01 15:38:06 · 1883 阅读 · 0 评论